所以这是我的问题。我有这两张桌子,它们各自的地图都很好。有一些额外的字段,我删除了,因为它们是无关的。我需要一个一对一的映射之间的项目和ItemAdminScrtyGrp的所有者的项目。我已经包含了用于获取项目所有者的SQL。更改数据库架构不是选项之一。有什么想法吗?如何将组合键的部分和映射的非主属性组合在一起?
Hibernate映射
<hibernate-mapping>
<class name="Item">
<composite-id class="ItemKey" name="itemKey" >
<key-property name="itemId" column="ITEM_ID" />
<key-property name="revision" column="RVSN_ID" />
</composite-id>
</class>
<class name="ItemAdminScrtyGrp">
<composite-id name="key" class="ItemAdminScrtyGrpKey" >
<key-property name="securityProfileCode" column="SCRTY_PROF_CD" />
<key-property name="itemId" column="ITEM_ID" />
<key-property name="revision" column="RVSN_ID" />
</composite-id>
<property name="securityLevelCode" column="SCRTY_LVL_TYP_CD" />
<property name="ownerFlag" column="OWNR_FLG"/>
</class>
</hibernate-mapping>SQL
select SCRTY_PROF_CD from ItemAdminScrtyGrp grp
join Item
on grp.ITEM_ID = Item.ITEM_ID and
grp.RVSN_ID = Item.RVSN_ID and
grp.OWNR_FLG = 'y'
where Item.ITEM_ID = 'abc' and Item.RVSN_ID = '123';谢谢你能提供的任何帮助。
发布于 2013-11-11 13:53:37
在这种映射上似乎有一个缺陷。见https://hibernate.atlassian.net/browse/HHH-4939
https://stackoverflow.com/questions/4521875
复制相似问题