汤阳光Hibernate3.6(完整版)(14)
时间:2025-07-10
时间:2025-07-10
4. 对象/关系数据库映射(一)基础
4.1. 持久化对象与OID 4.1.1. 对持久化对象的要求
1. 提供一个无参的构造器。使Hibernate可以使用Constructor.newInstance()
来实例化持久化类。
2. 提供一个标识属性(identifier property)。通常映射为数据库表的主键字段。如
果没有该属性,一些功能将不起作用,如:Session.saveOrUpdate()。 3. 为类的持久化类的字段声明访问方法(get/set)。Hibernate对JavaBeans风格
的属性实行持久化。
4. 使用非final类。在运行时生成代理是Hibernate的一个重要的功能。如果持久化
类没有实现任何接口,Hibnernate 使用 CGLIB 生成代理。如果使用的是 final 类,则无法生成CGLIB代理。(不能有子类就会影响后面懒加载的功能)
5. 重写eqauls()和hashCode()方法。如果需要把持久化类的实例放到Set中(当需
要进行关联映射时),则应该重写这两个方法。
4.1.2. OID
为了在系统中能够找到所需对象,需要为每一个对象分配一个唯一的标识号。在关系数据库中称之为主键,而在对象术语中,则叫做对象标识(Object identifier-OID)。
4.2. 对象/关系数据库映射文件(hbm.xml)
Hibernate 采用 XML 格式的文件来指定对象和关系数据之间的映射。在运行时 Hibernate 将根据这个映射文件来生成各种SQL语句.(可以有多个Class,一般一个对象对应一个映射文件)
映射文件的扩展名为―.hbm.xml‖。
映射文件示例:
上一篇:公众安全感调查问卷
下一篇:旋转机械振动诊断标准研究