当前位置:首页 > 域名

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

 

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

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

线程服务器租用

分享到:

滇ICP备2023006006号-16