本文主要是介绍hibernate进二阶之项目中session的管理方式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
@Testpublic void testSession() throws Exception {//openSession: 创建Session, 每次都会创建一个新的sessionSession session1 = sf.openSession();Session session2 = sf.openSession();System.out.println(session1 == session2);//falsesession1.close();session2.close();//getCurrentSession 创建或者获取session// 线程的方式创建session // 一定要配置:<property name="hibernate.current_session_context_class">thread</property>Session session3 = sf.getCurrentSession();// 创建session,绑定到线程Session session4 = sf.getCurrentSession();// 从当前访问线程获取sessionSystem.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>
这篇关于hibernate进二阶之项目中session的管理方式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!