Hibernate Session实例剖析

在向大家详细介绍Session之前,首先让大家了解下如何获得Session对象,然后全面介绍Hibernate Session实例。

Session(org.hibernate.Session)

(1) 单线程的,短寿命的对象,代表了一次会话的过程。实际上是把一个JDBC Connection打包了,它可以包含一些持久化对象的缓存看作介于数据连接与事物管理一种中间接口.

在Hibernate的设计者中.他们将session看作介于数据连接与事物管理的一种中间接口或者想象成一个持久对象的缓冲区hibernate能检测到这些持久对象的改变,并及时刷新数据库

(2) 每一个Hibernate Session实例和一个数据库事务绑定通常将每一个Hibernate Session实例和一个数据处理库事务绑定就是说,每执行一个数据库事务(操作),都应该先创建一个新的Hibernate Session实例.

如果事务执行中出现异常,应该撤消事务.不论事务执行成功与否,最后都应该调用Session的close()方法,从而释放Hibernate Session实例占用的资源.

(3) 如何获得Session对象

首先创建SessionFactory对象应用服务器如果访问多个数据源时,则应该产生多个SessionFactory;

相关推荐