首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >hibernate -将主键映射到2列

hibernate -将主键映射到2列
EN

Stack Overflow用户
提问于 2011-10-09 17:13:50
回答 2查看 186关注 0票数 0

我在网上搜索答案,但所有的答案都指向复合id PK。我想要两个类型为long的两列映射到PK。一个应该是规则生成的id,另一个应该是规则的长字段。

我有以下映射:

代码语言:javascript
复制
  <class name="com.company.MyTable" table="My_Table">
        <id name="id" column="id">            
            <generator class="assigned"/>
        </id>
        <property name="jobId" column="job_id" type="long" index="oes_job_id_idx" />
        <property name="serverId" column="server_id" type="long"/>
     </class>

我想将job_id列添加到PK中。我该怎么做?

EN

回答 2

Stack Overflow用户

发布于 2011-10-09 17:20:01

根据定义,主键应该是列尽可能少的唯一键:

  • 您不能有多个主键
  • 如果第一列已经是唯一的

,则不应对主键使用其他列

创建单独的索引也不会给您带来真正的好处-所以请坚持使用生成的字段作为主键。所以,hibernate不支持它,因为它是错误的。

票数 2
EN

Stack Overflow用户

发布于 2011-10-09 18:34:26

请看下面的问题,这里有一个完整的组合主键解决方案:

Mapping same class relation

然后

Mapping same class relation - continuation

希望能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7702505

复制
相关文章

相似问题

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