我有两个父/子关系表。孩子有一个有两列的桌子。 最初子表的主键值与父表主键值相同。 我已经在子表的hbm中定义了这个..
<id name="c1" type="int">
<column name="column1"/>
<generator class="foreign"/>
<param name="property">column1</param>
</generator>
</id>
现在,Child表中的第二列(如下所示)也是主键的一部分。
<many-to-one name="c2" class="com.Column2" fetch="select">
<column name="column2" not-null="true"/>
</many-to-one>
所以我必须在hbm中创建一个复合id,并且基本上这两个列都定义在其中,但是composit-id可能不支持生成器ID,就像我想要做的那样
<composite-id>
<key-many-to-one name="c1" column="column1"/>
<key-many-to-one name="c2" column="column2"/>
</composite-id>
但似乎composite-id不支持自动生成(first1)类型的列。所以我的问题是如何在hbm文件中使用一个列使用生成器类和一个“多对一”映射中的一个composit-id ...