【问题标题】:Hibernate Predicate SelectAll休眠谓词全选
【发布时间】:2013-09-08 08:54:33
【问题描述】:
如果用户选择了某些过滤器,我正在使用带有规范的 Spring Data JPA 从表中选择行:
公共接口规范{
Predicate toPredicate(Root root, CriteriaQuery query, CriteriaBuilder cb);
}
如何创建一个返回所有内容的谓词?
【问题讨论】:
标签:
hibernate
criteria-api
predicate
spring-data-jpa
selectall
【解决方案1】:
如文档所述,conjunction 的连词为零是正确的。这样的谓词可以按如下方式创建:
CriteriaBuilder cb ...
Predicate conjunction = cb.conjunction();
当需要相反时,这是disjunction 的任务(零分离是错误的):
CriteriaBuilder cb ...
Predicate disjunction = cb.disjunction();
没有析取的析取通常会生成类似于 1=0 的 SQL 查询。