Hibernate面试题部分汇总集合(8)

发布时间:2021-06-06

此文档主要简绍J2EE中的hibernate面试突击问题部分集合

Hibernate管理Session对象的方式有哪

些?

尽管让程序自主管理Session对象的生命周期也是可行的,但是在实际Java 应用中,把管理Session对象的生命周期交给Hibernate,可以简化 Java应用的程序代码和软件架构。

Hibernate 自身提供了 3 种管理Session对象生命周期的方式:

(1)Session对象的生命周期与本地线程绑定。

(2)Session对象的生命周期与 JTA事务绑定。

(3)Hibernate委托程序管理 Session对象的生命周期。

它包含了业务逻辑代码,创建 SessionFactory 对象的代码、管理 Session 对 象的代码,以及执行数据库事务的代码。对于复杂的软件应用,需要细分 BusinessService类的功能,建立精粒度的对象模型。精粒度的对象模型把功能逐步分解为多个模块,然后分配给多个类来协作完成。精粒度的对象模型可以减少重复代码,而且能提高每个类的独立性,有利于软件的维护和可重用。 本节将进一步细分 BusinessService类的功能,并且由多个类来分担 BusinessService类的功能:

● HibernateUtil类:实用类,负责创建一个应用范围内的 SessionFactory 对象,它的 getSessionFactory()静态方法返回这个 SessionFactory 对象。它的getCurrentSession()静态方法返回当前的 Session对象。 ● Monkey类:持久化类,代表猴子。

● MonkeyDAo. 类:封装了通过 Hibernate API来访问数据库,进行查询及 更新 Monkey对象的代码。不负责声明数据库事务。DAO(DataAccess Object) 表示数据访问对象。

● BusinessService 类:负责处理投票业务,通过 MonkeyDAO 类来查询及 更新 Monkey对象,数据库事务的声明由 BusinessService类来完成。 SessionFactory对象是重量级对象,在一个Java应用中,对于一个数据库存储

精彩图片

热门精选

大家正在看