hibernate进二阶之项目中session的管理方式
2017-02-01 16:32
519 查看
@Test public void testSession() throws Exception { //openSession: 创建Session, 每次都会创建一个新的session Session session1 = sf.openSession(); Session session2 = sf.openSession(); System.out.println(session1 == session2);//false session1.close(); session2.close(); //getCurrentSession 创建或者获取session // 线程的方式创建session // 一定要配置:<property name="hibernate.current_session_context_class">thread</property> Session session3 = sf.getCurrentSession();// 创建session,绑定到线程 Session session4 = sf.getCurrentSession();// 从当前访问线程获取session System.out.println(session3 == session4);//true // 关闭 【以线程方式创建的session,可以不用关闭; 线程结束session自动关闭】 //session3.close(); //session4.close(); 报错,因为同一个session已经关闭了! }
hibernate.cfg.xml中一定要配置
<!-- 配置session的创建方式:线程方式创建session对象 --> <property name="hibernate.current_session_context_class">thread</property>
相关文章推荐
- SSH框架之Hibernate的集合缓存、查询缓存、项目中的session管理方式
- (21)项目中Hibernate Session的管理方式
- 【Hibernate】项目中session的管理方式
- Hibernate-struts 项目中Session的管理
- hibernate 管理session对象的4种方式
- 项目中session的管理方式
- 1、Struts2和Hibernate的简单整合(带Session的管理方式)
- 分析总结Spring管理Hibernate中Dao层访问数据库两种方式
- 利用过滤器对hibernate的session管理,实现session在线程范围内的共享
- hibernate获取session的两种方式分别是openSession() 方法和getCurrentSession() 方法。
- hibernate的两种事务管理jdbc 和jta方式
- 软件项目管理第0次作业:如果一定要改变世界的话,为什么不用最酷的方式呢
- 利用ThreadLocal管理Hibernate的Session
- Hibernate的两种事务管理jdbc 和jta方式
- Spring整合Hibernate:2、使用Annotation方式进行声明式的事务管理
- 你的项目有潜在的问题吗?有关项目管理的方式方法
- JAVA WEB项目中设置session超时三种方式
- apache服务器下php项目访问速度慢的原因原来是因为session保存方式为files?
- ThreadLocal的实现原理,及使用实例,解决spring,hibernate非web项目下的懒加载 no session or session was closed(1)!
- Spring管理 hibernate 事务配置的五种方式