Hibernate查询左联接
我很累,眼睛很痛,我已经做了研究,但没有希望,我仍然不能表演 hql中的左外联接 在本机sql中执行此操作非常简单,为什么HQL不添加sql left-OuterJoin中的功能呢 我在这里迷路了!我需要帮助,如果有人可以给我一个关于如何执行一步一步的教程 HQL中的一个简单的左外联接。您为什么不读一下,在哪里讨论、解释了左外联接,在哪里甚至可以找到示例Hibernate查询左联接,hibernate,outer-join,Hibernate,Outer Join,我很累,眼睛很痛,我已经做了研究,但没有希望,我仍然不能表演 hql中的左外联接 在本机sql中执行此操作非常简单,为什么HQL不添加sql left-OuterJoin中的功能呢 我在这里迷路了!我需要帮助,如果有人可以给我一个关于如何执行一步一步的教程 HQL中的一个简单的左外联接。您为什么不读一下,在哪里讨论、解释了左外联接,在哪里甚至可以找到示例 from Cat as cat inner join cat.mate as mate left outer join cat.kittens
from Cat as cat
inner join cat.mate as mate
left outer join cat.kittens as kitten
事实上,我不明白那个例子,第二张桌子在哪里?事实上,我不明白那个例子,第二张桌子在哪里?正如我所看到的,只有一张桌子是猫。这条线是什么:猫。小猫是小猫?那是第二张桌子吗?那怎么可能,?我需要做一些映射吗?一个表或两个表并不重要。重要的是实体之间的关联。猫有许多小猫。正如类别有许多产品,或者发票有许多行一样。HQL在表上不起作用。它适用于与其他实体有关联的实体。这里也一样。。。我不理解文档中的任何示例,因为。。。1.它们非常抽象。伙计,小猫们是另一张桌子吗?2.我们从query.List()中得到一个列表,该列表包含什么?具有Cat属性或mate属性的对象?@SSG:正如我所说的:表仅在映射实体及其关联时才起作用。当您执行HQL查询时,需要考虑的是实体及其关联。而不是它们如何映射到表。如果查询选择猫,您将得到猫的列表。如果查询选择cat.name和cat.color,您将得到两个元素的数组列表:name和color。如果使用select子句,这是非常直观的。我建议始终使用一个,即使HQL不需要它。因为JPA需要一个select子句,所以它更具可读性和可移植性。@Maheep,将您自己的问题添加到其他人的问题中是完全不合适的。改为用所需的所有信息提出一个新问题。@Charles,我的问题与OP一年前提出的问题相同,我根据OP在给定答案中的评论更新了问题。