java基于两列在Hibernate中填充外部集合
我有一个项目表和一个项目关联表。ITEM_关联维护以某种方式相关的项目组,并包含以下列:item_id, group_id, type, value
。例如,一篇文章用3种不同的语言表示相同的内容:
id | item_id | group_id | type | value
----------------------------------------
1 1234 1 'lang' 'en'
2 2345 1 'lang' 'es'
3 3456 1 'lang' 'fr'
我有一个Item和ItemAssociation Java Hibernate实体,我希望Item类包含属于该项所属的任何组的ItemAssociation对象的集合。检索项目1234关联的SQL示例如下:
select * from ITEM_ASSOCIATION
where group_id in (select group_id from ITEM_ASSOCIATION where item_id = 1234)
有没有办法用标准的Hibernate注释来表示这一点?ITEM_关联表是全新的,因此如果需要,我可以更改模式/添加新表,以便更轻松地使用Hibernate。另外,如果这有什么区别的话,我们的数据库就是Oracle
# 1 楼答案
项目实体
项目关联实体
ItemAssociationId主键可嵌入
然后,为了查询包含所有关联项的项目,而不考虑组: