【发布时间】:2013-12-21 07:39:12
【问题描述】:
我有以下实体结构(伪)
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
【问题讨论】:
标签: java jpa join eclipselink jpql