如何在单个hibernate映射(hbm)文件中定义主键和外键?

时间:2016-12-19 06:41:58

标签: hibernate

我想在同一个hibernate映射文件(hbm)文件中定义主键和外键。我正在使用hibernate 3。

我不知道如何在生成的类中指定两个键。我的表格中的字段为ideidfname,其中id包含主键,eid包含外键,fname成立一个字符串。

assignleave.hbm.xml

<hibernate-mapping>
    <class name="assignLeave" table="assignleave">
        <id name="id" column="id" type="integer">
            <generator class="assigned"></generator>
        </id>
        <id name="eid" column="eid" type="integer">
            <generator class="foreign"></generator>
        </id>
       <property name="fname" column="fname" type="string"/>
    </class>
</hibernate-mapping>

1 个答案:

答案 0 :(得分:0)

外键不是id列。

您有两种映射选项:

  • 要么你有一个代表外表的实体,在这种情况下你大多数时间,你想使用many-to-one映射
  • 或者这个外表没有被hibernate映射(或者你不想映射与hibernate的关联),在这种情况下你用一个简单的<property>标签和assignLeave实体映射它将有一个外键的整数字段,如private Integer eid;