[英]Mapping many-to-one with composite-id
我試圖映射具有多對一關系的組合鍵。
如何映射擁有4個元素的復合id的類A和擁有3個元素的復合id的類B來實現這兩個類之間的約束:
A(*)<->(1)B嗎?
<hibernate-mapping>
<class name="A" table="A_TABLE" lazy="true">
<composite-id>
<key-property name="prop1" column="PROP1" type="string" />
<key-property name="prop2" column="PROP2" type="long" />
<key-property name="prop3" column="PROP3" type="long" />
<key-property name="prop4" column="PROP4" type="integer" />
</composite-id>
<property name="prop10" type="string" column="PROP10" />
...
</class>
<class name="B" table="B_TABLE" lazy="false">
<composite-id>
<key-property name="prop1" column="PROP1" type="string" />
<key-property name="prop2" column="PROP2" type="long" />
<key-property name="prop3" column="PROP3" type="long" />
</composite-id>
<property name="prop20" type="string" column="PROP20" />
...
</class>
</hibernate-mapping>
可以說我有3類- Other , Foo
和Bar
。 您可以如下創建多對一
<class name="Other" table="OTHER">
<composite-id>
<key-property name="id1"/>
<key-property name="id3"/>
</composite-id>
<property name="text"/>
</class>
<class name="Foo" table="FOO">
<composite-id>
<key-property name="id1"/>
<key-property name="id2"/>
</composite-id>
<property name="text"/>
</class>
<class name="Bar" table="BAR">
<id name="id">
<generator class="increment" />
</id>
<many-to-one name="foo" class="Foo" update="false" insert="false">
<column name="FOO_ID1" />
<column name="FOO_ID2" />
</many-to-one>
<many-to-one name="other" class="Other" update="false" insert="false">
<column name="FOO_ID1" />
<column name="FOO_ID3" />
</many-to-one>
<property name="text"/>
</class>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.