【发布时间】:2017-07-24 09:37:15
【问题描述】:
如果token 为空而不重复查询,是否可以忽略cb.equal(myClass.get(MyClass_.token), token)?如果完全重复查询(只跳过一个条件),我不想将它打包成巨大的。
private MyClass find(String code, String token) {
CriteriaBuilder cb = entityManager.getCriteriaBuilder();
CriteriaQuery<MyClass> cq = cb.createQuery(MyClass.class);
Root<MyClass> myClass = cq.from(MyClass.class);
cq.select(myClass).where(
cb.and(cb.equal(myClass.get(MyClass_.code), code),
cb.equal(myClass.get(MyClass_.token), token),
cb.greaterThan(myClass.get(MyClass_.expirationDate), DateUtils.getTime())
));
....
}
【问题讨论】:
标签: hibernate jpa criteria-api