0

JPA(Entity Manager) Criteria クエリを使用して、データベースから結果を取得しています。基準の間に「OR」句を入れる必要があります。

私のコードは以下の通りです:

List<Predicate> criteraList = new ArrayList<Predicate>();
if(user.getEid() != null){
    criteraList.add(criteriaUserCountry.like((Expression) userList.get("userCountryPK").get("user").get("eid"), "%" + user.getEid() + "%" ));
}
if(user.getFirstName() != null) {
    criteraList.add(criteriaUserCountry.like((Expression) userList.get("userCountryPK").get("user").get("firstName"), "%" + user.getFirstName() + "%" ));
}
cq.where(criteraList.toArray(new Predicate[]{}));
TypedQuery<UserCountry> query = entityManager.createQuery(cq);

SQL クエリに関しては、上記のコードは異なる条件の間に「AND」を挿入します。Entity Manager の基準を使用して「OR」句を実現するにはどうすればよいですか。

4

1 に答える 1