0
好吧,我不是那種先進的休眠,我試圖搜索很多,發現很多類似的問題,但沒有真正應用我的情況。我有一個表TABLE1,它有一個索引「ID」和另一個表作爲索引(TABLE1_ID和NUMBER)。只有TABLE1_ID是一個外鍵,而數字不參考任何具體爲休眠表創建唯一的索引,其中一列是外鍵
表1有以下Hibernate映射
<class name="com.test.basic.BASICTABLE1"
entity-name="com.test.TABLE1" table="TABLE1"
dynamic-update="true" optimistic-lock="version">
<id name="id" type="long">
<column name="id" />
<generator class="native">
<param name="sequence">${table1_id.generator.sequence}</param>
</generator>
</id>
<version name="versionNumber" column="verno" generated="always"
access="field" />
<property name="column1" column="column1" type="string" length="19"
not-null="true" access="field" />
</class>
我不知道應該是什麼其他表的映射。我做了以下方式
<class name="com.test.basic.BASICTABLE2"
entity-name="com.test.TABLE2" table="table2"
dynamic-update="true" optimistic-lock="version">
<composite-id name="id" class="com.test.basic.TABLE1TABLE2Id" >
<key-property name="TABLE1_ID" column="TABLE1_ID" type="long" />
<key-property name="NUMBER" column="NUMBER" type="short"/>
</composite-id>
</class>
請注意,我創建的類TABLE1TABLE2Id後,我讀的地方,應該有一些中間映射。
我敢肯定有一些錯誤TABLE2映射(我不休眠如此先進的),但要安裝應用程序時,我收到以下錯誤
Foreign key (TABLE1 [id]) must have same number of columns as the referenced primary key (TABLE2 [TABLE1_ID, NUMBER])
我明白任何人的幫助,感謝: )
你使用的是什麼版本的hibernate? –
休眠版本是3.3.1,謝謝:) – wassim
您是否隱藏了我們的一些信息,如多對一的映射? –