IT科技类资讯

3.7 同一个线程拿到的 session 是同一个

时间:2010-12-5 17:23:32  作者:系统运维   来源:数据库  查看:  评论:0
内容摘要:getCurrentSession 获取当前线程的 session如果没有就新建如果有就使用已有的跟 openSession 获取的 session 不一样之处:1. 不管增删改查,都要加事务控制2.

 

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(); } 

 【本文是高防服务器专栏作者张勇波的原创文章,转载请通过获取作者授权】

线程站群服务器
copyright © 2025 powered by 益强资讯全景  滇ICP备2023006006号-31sitemap