具有自动增量字段的Hibernate复合键

时间:2014-01-09 06:07:51

标签: mysql hibernate nhibernate-mapping

这里有一个表,我有一个ID,我希望自动增加,另外两个列以复合方式。

ID    ST_NAME    EDU_ID
 1       A         E1
 2       As        E1
 3       Af        E1
 4       B         E2
 5       Ba        E2  

ID将是所有表中唯一的 ST_NAME和EDU_ID将是复合类型 如何使用hibernate构建表

1 个答案:

答案 0 :(得分:0)

实体 Table.java

public class Table {

    private Long id;
    pirvate Composite composite;

    // setters & getters
}

Composite.java

public class Composite{

    private String stName;
    pirvate Long eduId;
    // setters & getters
}

Table.hbm.xml

<id name="id" type="java.lang.Long">
    <column name="id" />
    <generator class="increment" />
</id>
<composite-id name="composite" class="com.test.Composite">
    <key-property name="stName" type="java.lang.String">
         <column name="ST_NAME" />
    </key-property>
    <key-property name="eduId" type="java.lang.Long">
         <column name="EDU_ID" />
    </key-property>
</composite-id>