由於與數據庫複製相關的原因,我需要數據庫中的所有表都具有主鍵。使用複合主鍵映射Hibernate中的集合
一些在我的應用程序中的實體的定義類似以下:
<class name="Item" table="ITEM">
<id name="id" column="ITEM_ID"/>
<property name="name" column="NAME" />
<set name="images" table="ITEM_IMAGE">
<key column="ITEM_ID"/>
<element type="string" column="FILENAME" not-null="true"/>
</set>
</class>
據該書Java持久性與Hibernate(2006年11月)。第6章,第244頁
「A集不能包含重複的元素,所以 ITEM_IMAGE集合表的主鍵是在 聲明兩列的複合:ITEM_ID和FILENAME」
問題是,這種映射集的方式實際上會創建一個沒有主鍵的集合表。 (只有父實體表的外鍵)
有沒有辦法使用鍵元素集映射和強制hibernate創建具有兩列組合主鍵的集合表? (我不想改變設置映射到鍵/多對多,這將創建另一個子實體表)有人可以解釋這種行爲?
謝謝!