如何标准构建器检查空

use*_*624 4 java jpa

List<Predicate> predicatesList = new ArrayList<>();

predicatesList.add(cb.or((cb.notEqual(from.get(DISPLAY), STRING_NO)), (cb.equal(from.get(DISPLAY), null))));
Run Code Online (Sandbox Code Playgroud)

我在检查这个时遇到了异常。我要检查的内容不等于“N”或显示等于空。

(display!='N'or display is NULL)
Run Code Online (Sandbox Code Playgroud)

如果我将 predicatesList 更改为predicates.add(cb.notEqual(from.get(DISPLAY), STRING_NO));然后不会出错。但我也需要检查 null 。

use*_*624 6

我把它改成

predicates.add(cb.or((cb.notEqual(from.get(DISPLAY), STRING_NO)), (cb.isNull(from.get(DISPLAY)))));
Run Code Online (Sandbox Code Playgroud)

现在它工作正常。非常感谢你帮助我。