【发布时间】:2011-12-12 11:24:25
【问题描述】:
我有一个关于 JPQL 的问题。我需要在同一个实体上加入实体。 Entity.child_id 被映射为 JPA 实体类中的一个集合,即实体有一个集合属性(“children”),它包含每个孩子。 Join 可以很好地处理这个集合(顺便说一下,不知道为什么),例如:
SELECT parent.id, child FROM Entity parent JOIN parent.children child
问题是,有没有办法在没有 JOIN 的情况下编写这个查询,如下所示:
SELECT parent.id, child FROM Entity parent, Entity child WHERE <condition>
我不知道如何构造条件。 “parent.children = child” 不起作用 - 左侧是集合,右侧是单个实体。我猜必须使用“child IN (parent.children)”之类的东西,但我不知道该怎么做。我需要它,因为我无法在更复杂的查询中将一般连接与另一个连接结合起来。 提前致谢!
【问题讨论】: