hibernate中的复合主键的一点小知识

复合主键就是说在一个数据库当中不仅只有一个主键,有两个以上,这些可能在现在很少有,主要的还是一些老版本中会用到。

 

在Hibernate中使用复合主键的方法:

比如我们这里有两个主键 uid和name

(1)在创建POJO中要有一个构造方法要有两个参数

 

public GuestBook(int uid,String name)

{

         this.uid=uid;

         this.name=name;

}

 

在.hbm.xml文件中

 

<composite-id >


<key-property name="对应POJO中的属性" type="类型">
<column name="对应数据库中的属性" length="长度"/>
</key-property>

 

</composite-id>

 

有多少个主键就对应多少个key-property

 

(2)可以把复合的主键提取出来创建一个类 比如User类,然后再在映射的POJO类中定义User类(这个类最好生成序列)

 

public User user;

 

在.hbm.xml文件中

 

将上面的

<composite-id name="对应映射类中的User 比如这里是user" class="user类所在的包">


<key-property name="user类中的属性(注意这里不是映射类中的属性)" type="类型">
<column name="对应数据库中的属性" length="长度"/>
</key-property>

 

</composite-id>

 

你可能感兴趣的:(Hibernate)