【发布时间】:2011-11-10 12:20:34
【问题描述】:
有没有办法在 JPA 中创建虚假谓词? 有点像这样:
CriteriaBuilder cb = em.getCriteriaBuilder;
Predicate pred = cb.isTrue(false);
CriteriaBuilder 的几乎所有方法都以 Expression 作为参数。 我也试过这个无济于事:
Expression<Object> path = cb.coalesce.value(null);
Predicate pred = cb.isNotNull(path);
显然它会抛出 NPE,但是我认为这可能会起作用,因为根据 API 文档:
a coalesce 表达式等效于一个 case 表达式,它如果其所有参数的计算结果都为 null,则返回 null,否则返回其第一个非 null 参数的值。
【问题讨论】:
标签: java jpa-2.0 criteria-api