如何在 JPA 的 Criteria API 中表达文字true
和文字?false
我正在寻找类似Predicate alwaysTrue = CriterialBuilder.DefaultLiterals.TRUE
(类似于java.lang.Boolean.TRUE
)的东西。
如何在 JPA 的 Criteria API 中表达文字true
和文字?false
我正在寻找类似Predicate alwaysTrue = CriterialBuilder.DefaultLiterals.TRUE
(类似于java.lang.Boolean.TRUE
)的东西。
要获得始终为真的 Predicate
实例,请使用criteriaBuilder.and()
.
要获取始终为假 Predicate
的实例,请使用criteriaBuilder.or()
.
CriteriaBuilder#conjunction()返回一个 TRUE 谓词。
CriteriaBuilder#disjunction()返回一个 FALSE 谓词。
/**
* Create a conjunction (with zero conjuncts).
* A conjunction with zero conjuncts is true.
*
* @return and predicate
*/
Predicate conjunction();
/**
* Create a disjunction (with zero disjuncts).
* A disjunction with zero disjuncts is false.
*
* @return or predicate
*/
Predicate disjunction();
尽管其他答案解决了问题,但我认为它们没有显示代码的意图,这应该是“一个始终正确的谓词”。
我个人认为下面的方法更清楚,虽然有点长。
永远真实
criteriaBuilder.isTrue(criteriaBuilder.literal(true));
总是假的
criteriaBuilder.isFalse(criteriaBuilder.literal(true));