1、实现一个默认的(即无参数的)构造方法(constructor)
所有的持久化类都必须有一个 默认的构造方法(可以不是public的),这样的话Hibernate就可以使用
Constructor.newInstance()来实例化它们。 强烈建议,在Hibernate中,为了运行期代理的生成,构造方法至少是
包(package)内可见的。
2、提供一个标识属性(identifier property)(可选)
这个属性可以叫任何名字,其类型可以是任何的原始类型、原始类型的包装类型、
java.lang.String 或者是 java.util.Date。
标识符属性是可选的。可以不用管它,让Hibernate内部来追踪对象的识别。 但是我们并不推荐这样做。
实际上,一些功能只对那些声明了标识符属性的类起作用:
-
托管对象的传播性再连接(级联更新或级联合并)
-
Session.saveOrUpdate()
-
Session.merge()
建议对持久化类声明命名一致的标识属性。还建议使用一 个可以为空(也就是说,不是原始类型)的类型。
代理(proxies)是Hibernate的一个重要的功能,它依赖的条件是,持久 化类或者是非final的,或者是实现了一个所有方法都声明为public的接口。
可以用Hibernate持久化一个没有实现任何接口的final类,但是不能使用代理来延迟关联加载,这会限制进行性能优化的选择。
也应该避免在非final类中声明
public final的方法。如果你想使用一 个有public final方法的类,你必须通过设置lazy="false" 来明确地禁用代理。
4、为持久化字段声明访问器(accessors)和是否可变的标志(mutators)(可选)
很多其他ORM工具直接对 实例变量进行持久化。我们相信,在关系数据库schema和类的内部数据结构之间引入间接层(原文为"非直接",indirection)会好一些。默认情况下Hibernate持久化JavaBeans风格的属性,认可
getFoo,isFoo 和
setFoo这种形式的方法名。 如果需要,你可以对某些特定属性实行直接字段访问。
属性不需要要声明为public的。Hibernate可以持久化一个有
default、protected或private的get/set方法对 的属性进行持久化。
分享到:
相关推荐
Hibernate中根据数据库中各表,使用myEclipse的返向工程,自动生成hibernate.cfg.xml 配置文件 与person.hbm.xml映射文件和持久化类 (图文介绍)
Hibernate操作持久化对象Hibernate操作持久化对象Hibernate操作持久化对象Hibernate操作持久化对象Hibernate操作持久化对象
hibernate持久化技术详解.孙卫琴.代码2 很好很全很有用
hibernate持久化对象生命周期[参照].pdf
一个很好的Hibernate 操纵持久化对象例子,如果想深入理解HIERNATE 的朋友,可以去研究一下。
Hibernate持久化映射一对多和多对一
Hibernate持久化对象的生命周期 持久化对象的状态: 瞬时对象(Transient Objects)持久化对象(Persist Objects)、离线对象(Detached Objects)、 Java对象在JVM中的生命周期 理解Session的缓存 在Hibernate应用...
这是Hibernate 的一个小的例子 数据持久化得初步。
◎ 数据持久化的概念 ◎ ORM的基本概念,POJO,PO的概念以及JDO的实现机制 ◎ Hibernate的实现机制 ◎ Hibernate的开发过程:如何配置数据库连接,如何操作数据库
hibernate的知识:持久化类(Persistent Classes)、对象关系数据库映射基础(Basic OR Mapping)、集合类(Collections)映射、关联关系映射、拦截器与事件(Interceptors and events)等。
java-hibernate持久化
精通Hibernate:Java对象持久化技术详解
精通Hibernate:Java持久化对象技术详解[第二版]
HIBERNATE - 符合Java习惯的关系数据库持久化
精通Hibernate:Java对象持久化技术详解.pdf 精通Hibernate:Java对象持久化技术详解.pdf
精通Hibernate:Java对象持久化详解解压后是pdf文档。
在Struts中,循环显示List中的数据使用什么标签? 如何使用MVC模式组织Java Web应用? 程序的DAO层(数据访问层)完成什么任务?
用Hibernate对象持久化服务简化Java数据库访问 用Hibernate对象持久化服务简化Java数据库访问
HIBERNATE+-+符合Java习惯的关系数据库持久化
Hibernate 基于持久层框架的DAO模式应用