1:openSession()
Configuration cf = new Configuration().configure();
SessionFactory sf = cf.buildSessionFactory();
Session session = sf.openSession();
2:getCurrentSession():
Configuration cf = new Configuration().configure();
cf.buildSessionFactory().getCurrentSession();
区别:
* 采用getCurrentSession()创建的session会绑定到当前线程中,而用openSession()
创建的session则不会
* 采用getCurrentSession()创建的session在commit或rollback时会自动关闭,而采用openSession()
创建的session必须要显示的手动关闭session.close();
使用getCurrentSession()需要在hibernate.cfg.xml文件中加入如下配置:
* 如果使用的是本地事务(jdbc事务)
<property name="hibernate.current_session_context_class">thread</property>
* 如果使用的是全局事务(jta事务)
<property name="hibernate.current_session_context_class">jta</property>
分享到:
相关推荐
hibernate中session的管理描述。 hibernate中session的管理描述。
主要介绍了Hibernate中获取Session的两种方式代码示例,具有一定借鉴价值,需要的朋友可以参考下。
Hibernate-nosession浅谈代码案例。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
hibernate中session对象的状态详解
Hibernate 中对session的管理!
Hibernate Session释放模式
hibernate配置文件,session工厂学习,session链接数据库
Spring与Hibernate集成中的session.doc
JAVA的hibernate手动获取session的方法
可以对hibernate的 Session 和 Transaction 有更深入的认识 希望对一些概念比较模糊的人 有帮助
hibernate的缓存机制和session对象的产生方式案例,里面写到session的两种产生方式,和hibernate的缓存机制:一级缓存、二级缓存、查询缓存
hibernate--3.Hibernate数据持久化(通过 Session 操纵对象)
Hibernate的透明持久化用起来非常舒服,有时甚至忘记了数据库的存在。我身边的朋友经常会分不清save、saveOrUpdate、update的区别,lock、merge、replicate、refresh、evict甚至不知道是干什么用的。而且关于实体...
手写hibernate的session实现简单增删改查,适合新手学习hibernate
hibernate里面的 两种查询 离线查询 和 HQL语句查询
hibernate中的generator的生成方式 hibernate中的generator的生成方式
Hibernate_session_factory_配置
Spring与Hibernate两种组合方式
No Hibernate Session bound to thread,没有绑定线程解决办法,找了好久才找到的
Session是Hibernate中应用最频繁的接口,Session也被称为持久化管理器,它负责所有的持久化工作,负责管理持久化对象的生命周期,提供第一级别的高级缓存来保证持久化对象的数据与数据库同步