
getCurrentSession 获取当前线程的同个同 session
如果没有就新建
如果有就使用已有的
跟 openSession 获取的 session 不一样之处:
1. 不管增删改查,都要加事务控制
2. 配置文件中要加入 current_session_context_class=thread
3. 它会在事务结束时(commit 或 rollback)自动关掉 session
@Test public void test14() { SessionFactory sf = new Configuration().configure().buildSessionFactory(); /** * getCurrentSession获取当前线程的网站模板session * 如果没有就新建 * 如果有就使用已有的 * 跟openSession获取的session不一样之处: * 1. 不管增删改查,都要加事务控制 * 2. 配置文件中要加入current_session_context_class取值thread, jta * 3. 它会在事务结束时(commit或rollback)自动关掉session */ Session session = sf.getCurrentSession(); session.beginTransaction(); Order o = (Order) session.get(Order.class, 1); System.out.println(o); session.getTransaction().commit(); } 【本文是高防服务器专栏作者张勇波的原创文章,转载请通过获取作者授权】
线程服务器租用