gpt4 book ai didi

java - JPA Criteria builder IN 子句查询

转载 作者:IT老高 更新时间:2023-10-28 20:38:41 25 4
gpt4 key购买 nike

如何为以下给定的 JPQL 查询编写标准构建器 api 查询?我正在使用 JPA 2.2

SELECT * 
FROM Employee e
WHERE e.Parent IN ('John','Raj')
ORDER BY e.Parent

最佳答案

这个标准设置应该可以解决问题:

CriteriaBuilder cb = entityManager.getCriteriaBuilder();
CriteriaQuery<Employee> q = cb.createQuery(Employee.class);


Root<Employee> root = q.from(Employee.class);
q.select(root);

List<String> parentList = Arrays.asList(new String[]{"John", "Raj"});

Expression<String> parentExpression = root.get(Employee_.Parent);
Predicate parentPredicate = parentExpression.in(parentList);
q.where(parentPredicate);
q.orderBy(cb.asc(root.get(Employee_.Parent));

q.getResultList();

我在这里使用了重载的 CriteriaQuery.where 方法,它接受 Predicate.. 在这种情况下是一个 in 谓词。

关于java - JPA Criteria builder IN 子句查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42530677/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com