首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用复合id映射多对一

使用复合id映射多对一
EN

Stack Overflow用户
提问于 2016-03-09 17:07:35
回答 1查看 1.8K关注 0票数 0

我正在尝试映射一个具有多对一关系的组合键。

如何映射一个拥有4个元素的复合id的类A和一个拥有3个元素的复合id的类B,以实现这两个类之间的连接,并具有以下约束:

(*) <--> (1)B?

代码语言:javascript
复制
<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>
EN

回答 1

Stack Overflow用户

发布于 2016-03-09 17:14:32

假设我有3个类-- Other , FooBar。您可以创建多对一,如下所示

代码语言:javascript
复制
<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>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35887182

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档