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是主键类的两个主键属性。
还有在 Annocation 中联合主键。
在主键类实现
在主键类里,要重写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 就好。
相关文章推荐
- Hibernate学习笔记(5)联合主键
- Hibernate学习笔记_联合主键
- Hibernate3.3.2学习笔记---generator
- Hibernate 学习笔记( 三)-- 复合主键
- hibernate3.3.2学习笔记---getCurrentSession()与openSession()
- hibernate学习:联合主键2
- Hibernate学习——(七)联合主键映射以及组件映射
- Hibernate笔记③--集合映射、组合映射、联合主键、查询案例
- hibernate3.3.2学习笔记---第一个程序
- Hibernate学习笔记----基于外键或主键映射的1-1关联关系
- Hibernate学习篇04——联合主键(一)
- Hibernate的主键生成策略学习笔记
- hibernate3.3.2学习笔记 --- 多对一
- hibernate3.3.2学习笔记---One2One关联单向
- hibernate3.3.2学习笔记---OneToMany双向关联
- Hibernate学习笔记之主键生成策略和SchemaExport
- Hibernate学习_010_联合主键映射(Annotation方式)
- Hibernate中联合主键映射学习
- Hibernate学习笔记_08_一对一单向、双向主键关联
- hibernate3.3.2学习笔记--- 一对多