【发布时间】:2014-08-08 11:47:42
【问题描述】:
我有以下 JPQL:
SELECT a.b.id, a.b.name, a.c.id,a.c.name
left join a.b left join a.c
group by a.b.id,a.b.name,a.c.id,a.c.name
现在 b 和 c 都引用同一个表。 生成的 SQL 正在执行我要求的左连接,以及 a.b.name 和 a.c.name 的另一个连接 (这是不必要的,因为左连接包含名称,并且它检索的结果比预期的要多) 如何使生成的 SQL 不包含不必要的连接?
提出的1个解决方案不是选择名称并通过不同的查询单独检索它们..但这不是我想的最优雅的方式..
(顺便说一句,我尝试选择 a.b,a.c 并按 a.b,a.c 分组,但它抛出 ORA 不是按表达式分组,因为生成的 sql 检索所有行,但分组依据仅按 ID) 并且左连接是必要的,因为我想允许空值。
非常感谢。
【问题讨论】: