【发布时间】:2011-08-29 22:49:11
【问题描述】:
我的表格如下所示:
物品表:
ItemName Varchar2(200)
ItemId Number
OwnerId Number
OwnerType number
人员表:
PersonName Varchar2(200)
PersonId Number
公司表:
CompanyName Varchar2(200)
CompanyId Number
当 Item 的 ownerType 为“1”时,该 item 的 ownerId 是“person”表的外键 PersonId。当 OwnerType 为 '2' 时,ownerId 是 Company 表的 CompanyId 的外键。
我没有进行数据建模,也没有更改架构的选项。
我想解决两个问题: (1) 我想要一个 Item 表的映射文件,它会给我项目的所有者。 (2) 我想要 Person & Company 表的映射文件,这将分别给我个人或公司拥有的项目。
注意:CompanyId 和 PersonId 可以是同一个数字,所以只有当 person.personid = item.ownerid 和 item.ownertype = 1 时,一个 item 才属于 Person。
我可以控制映射文件和对象图,所以我可以创建所有者接口或超类。
Hibernate 可以做这种事情吗?
【问题讨论】:
标签: java hibernate hibernate-mapping