gpt4 book ai didi

Java 标准构建器查询不为空或为空

转载 作者:搜寻专家 更新时间:2023-11-01 01:49:55 25 4
gpt4 key购买 nike

我正在尝试检查数据库中的列是否不是空字符串或不为空,但我无法弄清楚如何使用标准构建器查询来执行此操作以取回实际对象。这个 sql 有效:

sampleName is not null and sampleName != ''

但是当我尝试使用这样的条件构建器来做时:

//这是在私有(private)方法 filterBySampleNotEmpty 中

cb.notEqual(root.get("sampleName"), "");

在另一个方法中调用

CriteriaBuilder criteriaBuilder = em.getCriteriaBuilder();
CriteriaQuery<Sample> query = criteriaBuilder.createQuery(Sample.class);
Root model = query.from(Sample.class);
List<Predicate> predicates = new ArrayList<>();
predicates.add(filterBySampleNotEmpty(model, criteriaBuilder));
query.select(model).where(predicates.toArray(new Predicate[]{}));

它仍然返回整个列表。

最佳答案

尝试使用这段代码:

criteriaBuilder.isNotNull(model.get(entity.name))

关于Java 标准构建器查询不为空或为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40979316/

25 4 0
文章推荐: java - XPathFactoryImpl 未找到错误(使用 myBatis)
文章推荐: asp.net - javascript 添加到