gpt4 book ai didi

java - JPQL 加入多个连接的实体

转载 作者:太空宇宙 更新时间:2023-11-04 07:12:54 25 4
gpt4 key购买 nike

我有以下实体结构(伪)

class A 
@OneToMany
List<B> bList;

class B
@ManyToOne
A aFk;
@OneToMany
List<C> cList;

class C
@ManyToOne
B bFk;
@ManyToOne
D dFk;

class D
@OneToMany
List<C> cList;

我想检索所有 D 实体,但我只有来自客户端的实体 A。

我想从 A 开始,迭代与 B 的关系。然后选择与 where 子句中的 A 属性匹配的关系。

如何使用 JPQL 执行此操作?使用 CriteriaAPI 查询是否更容易?

我用 jpql 尝试过,但它检索了所有 D 实体。

Select distinct d
from A a, D d
join a.bList ab
join ab.cList
join d.cList cd
where a.name='A'

我使用 EclipseLink

最佳答案

您没有在查询中使用 C 和 D 之间的关联。应该很简单

select distinct d from A a
join a.bList b
join b.cList c
join c.dFk d
where a.name = 'A'

关于java - JPQL 加入多个连接的实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20381793/

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