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
您是否隐藏了我们的一些信息,如多对一的映射? –