gpt4 book ai didi

jpa - 如何在条件查询中传递参数列表,jpa?

转载 作者:行者123 更新时间:2023-12-02 01:55:15 31 4
gpt4 key购买 nike

我是 JPA 的新手,但必须在该技术中实现我的项目

我想做的是通过 CriteriaQuery 构建一些数据库查询,但不知道如何将参数列表传递给下面的代码:

CriteriaBuilder qb = em.getCriteriaBuilder();
CriteriaQuery<MyClass> c = qb
.createQuery(MyClass.class);
Root<MyClassPK> p = c
.from(MyClass.class);

c.where(qb.equal(qb.trim((p.<MyClass> get("id")).<String> get("Name")),
HERE LIST OF ARGS HOW TO PASS ?? ));
TypedQuery<MyClass> q = em.createQuery(c);

代码看起来很复杂,因为复杂的数据库架构。有人可以告诉我如何解决我的问题吗?或者也许只有一个解决方案适用于 (...) ?

最佳答案

如果我很好地理解你的问题,你需要一个“in”条件:

CriteriaBuilder qb = em.getCriteriaBuilder();
CriteriaQuery<MyClass> c = qb.createQuery(MyClass.class);
Root<MyClassPK> p = c.from(MyClass.class);

// c.where(qb.equal(qb.trim((p.<MyClass> get("id")).<String> get("Name")), HERE LIST OF ARGS HOW TO PASS ?? ));

List<String> names = new ArrayList<String>();
names.add("name1");
names.add("name2");
names.add("name3");
c.where(qb.trim((p.<MyClass> get("id")).<String> get("Name")).in(names));

TypedQuery<MyClass> q = em.createQuery(c);

关于jpa - 如何在条件查询中传递参数列表,jpa?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20571903/

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