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" type="类型">
<column name="对应数据库中的属性" length="长度"/>
</key-property>
?
</composite-id>
?