您的位置:首页 > 编程语言 > Java开发

hibernate3.3.2学习笔记---联合主键

2016-09-29 14:49 501 查看
联合主键主要思想就是把主键换成一个类,在类里进行主键对应属性的集合。

在主键类里,要重写equals方法,hashCode方法,implements Serializable。

重写equals是为了在类中确保主键的唯一性,与数据库保持一致。

重写hashCode是为了:当对象被转载在hash表里,就会使用到。

Serializable是为了实现序列化。若是内存满了,就要把对象暂时写到硬盘上,就需要序列化,或者是通过网络序列到其他机上,也需要序列化。

在javabean里,要重新生成主键类的get  set方法。

较难的是对配置文件的修改。

composite-id 表示主键列表,name属性表示Student中的主键类的对象名称,k1,k2是主键类的两个主键属性。

<hibernate-mapping package="com.wanhao">
<class name="Student">
<composite-id  name="pk"  >
<key-property name="k1"></key-property>
<key-property name="k2"></key-property>
</composite-id>
<property name="id"></property>
<property name="name"></property>
<property name="age"></property>
</class>

</hibernate-mapping>


还有在 Annocation 中联合主键。

在主键类实现 
java.io.Serializable
上面写@Embeddable,然后在javabean里的主键类的get方法上@Id  就好。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息