Hibernate 两个表主键作为第三个表的主键
我是冬眠新手。我有两张桌子如下Hibernate 两个表主键作为第三个表的主键,hibernate,Hibernate,我是冬眠新手。我有两张桌子如下 Table1{id1 primary key;} Table2{id2 primary key;} 表1和表2之间存在一对多关系。实现了这种关系,没有问题。我们还有第三张表,如下所示 Table3{(id1 & id2) primary key, col3 ,col4} 从Google获得了一个解决方案,可在第三个表映射中使用 <composite-id> <key-property name="id1" column=
Table1{id1 primary key;}
Table2{id2 primary key;}
表1和表2之间存在一对多关系。实现了这种关系,没有问题。我们还有第三张表,如下所示
Table3{(id1 & id2) primary key, col3 ,col4}
从Google获得了一个解决方案,可在第三个表映射中使用
<composite-id>
<key-property name="id1" column="id1" />
<key-property name="id2" column="id2"/>
</composite-id>
如果有更好/更高级的方法在hibernate中实现同样的功能,请建议/指导我。还建议保存和检索对象的更好方法
提前感谢。我建议反对这种设计;主键应始终为单列技术键(即没有任何类型的业务关系) 在我的模式中,我这样建模:
Table3( id primary key, table1fk foreign key, table2fk foreign key, col1, col2, ... )
优点:
- 所有桌子的设计都相同
- 使用外键可确保不会意外删除
或Table1
Table2
- 清晰的关注点分离:PK用于定位和标识行。外键的意思是:我指的是另一个表。您的设计混合了这两者