如果用户选择了某些过滤器,我将使用带有规范的 Spring Data JPA 从表中选择行:
公共(public)接口(interface)规范{ 谓词 toPredicate(Root root, CriteriaQuery 查询, CriteriaBuilder cb); }
如何创建一个将返回所有内容的谓词?
最佳答案
根据记录,conjunction与零连接是正确的。这样的谓词可以按如下方式创建:
CriteriaBuilder cb ...
Predicate conjunction = cb.conjunction();
当需要相反的时候,那就是 disjunction 的任务(如果析取为零,则为假):
CriteriaBuilder cb ...
Predicate disjunction = cb.disjunction();
没有析取的析取通常会生成类似 1=0 的 SQL 查询。
关于Hibernate 谓词 SelectAll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18620797/