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」句を実現するにはどうすればよいですか。