我想要一个简单的连接,只需比较两个表中的ID ..
我有我的组表,包含;
我的GroupMap表包含;
我的查询采用GroupMap.ItemID并且意味着返回itemID所属的组列表,在SQL中我会这样做;
select Group.* from Group, GroupMap Where GroupMap.ItemID = '527' and Group.ID = GroupMap.GroupID;
这会返回我需要的东西,我似乎无法在HQL中复制它,我认为这本来是非常简单的。
谢谢, 詹姆斯
答案 0 :(得分:8)
您可以在hql中使用theta join
select g from Group g, GroupMap m Where m.ItemID = '527' and g.ID = m.GroupID
答案 1 :(得分:3)
使用HQL,您不会考虑这些表之间的表和关系,而是考虑这些实体之间的实体和关联。
所以,如果你有Group和GroupMap类(你已经映射到你的数据库表),你必须写这样的HQL:
from Group as g inner join g.Maps as m where m.ItemID = '527'
也就是说,假设您的Group实体具有GroupMap实体的集合......