在HQL教程中,它给出了以下示例:
select s.name, p.name, p.price
from Product p inner join p.supplier as s
产品显然是其中一个实体,看起来它正在加入它的供应商属性,但它加入了哪个实体以及该实体的加入属性。
请有人向我解释。
我理解SQL,也许我需要一个范例转换,所以请转发我: - )
答案 0 :(得分:1)
现在你的查询不完整,因为你没有指定你要加入这两个表的实体。
这两个表可以加入如下:
select s.name, p.name, p.price
from Product p inner join p.supplier as s
on p.id = s.id --This specifies the entity which you are using to join the table
因此,这意味着您的表格产品和供应商通过表格中的ID列加入( ID可以替换为表格中显示的其他名称)
或强>
如果您的表定义了一对多关系,那么也是可能的。请注意,HQL支持两种类型的JOINS,即。,隐式和显式。
编辑:(在此处添加我的评论,以便我可以选择我想要的答案)
所以在我看来,#34;""已经存在一个连接,并且supplier属性已经具有所有这些信息,并且连接语法只是表示您希望使用此特定(已设置)连接。因此,它所加入的实际实体以及它所加入的属性都是黑盒子。我需要知道的是未知表上的属性(示例中的名称)。