日志文章

2007年03月26日 07:53:01

Hibernate进行数据持久化操作的过程及DAO层的实现

使用Hibernate进行数据持久化操作的过程

    使用Hibernate进行持久化操作主要需要以下步骤:
STEP 1:创建Configuration对象。在这一步中主要为了进行配置文件的装载操作,读取所有的配置文件并进行解析
STEP 2: 创建SessionFactory对象。通过创建好的Configuration对象可以创建一个sessionFactory对象的实例,同时是生成Session对象实例的工厂,他在整个应用中应该是唯一的。
STEP 3:创建Session对象。 Session对象类似于数据库的连接对象,可以理解为与数据库建立的一个连接,但是他的功能要比JDBC中的Connection对象丰富很多。
STEP 4:开始一个事务。在Java中定义一个事务操作的开始,这是使用Hibernate进行持久化操作必不可少的步骤
STEP 5:进行持久化操作。在这个步骤中可以读取或者保存Java对象。
STEP 6:结束事务。在操作完成之后还要进行显式的结束事务的操作。
STEP 7:关闭Session。类似于释放数据库的连接。

DAO层的实现

    在完成了域模型的定义和配置工作之后,接下来要完成的工作就是定义DAO接口,并使用Hibernate来实现所定义的DAO接口。
当然直接使用Hibernate来访问数据库也是完全可以的,但是这种结构的系统会具有更好的灵活性。通过这种使用接口的编程方法,可以在方法的调用者和方法的实现者之间建立一个屏障,即他们之间不存在任何关联,一边的修改不会影响到另外一边的正确运行。例如现在所选择的持久化组件为Hibernate,过一段时间可能会有更好的持久化层组件出现,或者想直接采用JDBC来实现持久化层的操作,那么只需要修改具体的实现方法就可以了,而不需要对调用持久化层的业务处理方法进行任何修改。

    DAO接口和DAO实现之间的关系:HibernateDAO,IUerDAO,UserDAO
上述的三个*DAO是中(1)HibernteDAO是基础类,它包含了使用Hibernate进行持久化操作的一些基础方法。实现具体业务方法的DAO方法,通过继承这个类,可以在很大程度上简化持久化操作的步骤,减少代码的重复量。(2)IUerDAO是接口,定义了对对象User进行持久化操作的各种方法。只有接口定义,没有实现。具体有什么样的方法,完全取决于对象User。User是前面工作中定义的持久化对象。 注意:一个持久化对象对应一个DAO接口(3)UserDAO 这个才是真正的DAO实现类。他集成了基础类,实现了DAO接口。一个实现类要实现对应的接口。

Tags: hibernate  

类别: 无分类 |  评论(0) |  浏览(2558) |  收藏
发表评论
看不清楚,换一张