gpt4 book ai didi

java - JPQL 到标准

转载 作者:行者123 更新时间:2023-11-30 03:26:39 24 4
gpt4 key购买 nike

我有以下类(class):

@Embeddable Class A // (with field String x);
Class B // (with field @Embedded A a)
Class C // (with field @OneToOne B b);

我想创建方法getAllByXs(List<String> xs)使用条件获取所有 C 条目,其中 c.b.a.x位于xs

输入内容的查询 SELECT c FROM C c JOIN c.b b WHERE b.a.x IN :param工作正常。如何使用 Criteria 编写相同的查询?

最佳答案

基于条件的查询示例可能如下所示:

CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<C> cq = cb.createQuery(C.class);
Root<C> c = cq.from(C.class);
Join<C, B> b = c.join("b");
cq.select(c)
cq.where(b.get("a").get("x").in(cb.parameter(List.class, "param")));

List<C> = em.createQuery(cq)
.setParameter("param", Arrays.asList("foo", "bar", "baz"))
.getResultList();

关于java - JPQL 到标准,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30038601/

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