HibernateSession实例剖析

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

创新互联长期为上千客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为绥棱企业提供专业的成都网站设计、成都网站建设,绥棱网站改版等技术服务。拥有10年丰富建站经验和众多成功案例,为您定制开发。

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;

但是仅仅为了服务与某个请求时,不要创建一个新的SessionFactory,因为创建SessionFactory需要消耗大量的资源.然后根据SessionFactory再创建Session对象

 
 
 
  1. Session session=sessionFactory.openSession();  
  2. Transaction tx;  
  3. try{  
  4. tx=session.beginTransaction();//开始一个事务  
  5. .......//执行事务  
  6. tx.commit();  
  7. }catch(Exception e){//如果出现异常就撤消事务  
  8. if(tx!=null)  
  9. tx.rollback();  
  10. throw e;  
  11. }  
  12. finally//不管事务执行成功与否,最后都关闭Session并且放在finally中以提高安全性  
  13. session.close();  

网页标题:HibernateSession实例剖析
文章网址:http://www.gawzjz.com/qtweb2/news32/21232.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联