我正在使用JPA(实体管理器)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”。如何使用实体管理器的标准实现“OR”条款。