hibernate进二阶之项目中session的管理方式

来源:互联网 发布:掌盟书城java下载 编辑:程序博客网 时间:2024/06/06 03:00
@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>


0 0