MySQLでJava8とHibernate 5.2.1およびJPA2を使用しています。2つのパラメータを持つHibernate CriteriaBuilder
私は完璧に動作し、次のクエリを持っている:
final EntityManagerFactory entityManagerFactory = entityManager.getEntityManagerFactory();
final CriteriaBuilder criteriaBuilder = entityManagerFactory.getCriteriaBuilder();
CriteriaQuery<Rating> criteria = criteriaBuilder.createQuery(Rating.class);
Root<Rating> root = criteria.from(Rating.class);
ParameterExpression<Job> paramJob = criteriaBuilder.parameter(Job.class);
criteria.select(root).where(criteriaBuilder.equal(root.get("job"), paramJob));
あなたが見ることができるように、クエリは一つのパラメータparamJob
を持っています。
ParameterExpression<Person> paramPerson = criteriaBuilder.parameter(Person.class);
質問私は2番目のパラメータに対応するために、以下の行を変更するにはどうすればよい
:私は2番目のパラメータを追加したいと思いますか?
criteria.select(root).where(criteriaBuilder.equal(root.get("job"), paramJob));
私はちょうど二行追加することができます。
criteria.select(root).where(
criteriaBuilder.equal(root.get("job"), paramJob),
criteriaBuilder.equal(root.get("person"), paramPerson)
);
ありがとうございました。これを正解とマークします。 – Richard