1
如果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())
));
....
}