zoukankan      html  css  js  c++  java
  • hibernate中session的管理方式

    package loaderman.c_session;
    
    
    import loaderman.b_second_cache.Dept;
    import loaderman.b_second_cache.Employee;
    import org.hibernate.SessionFactory;
    import org.hibernate.cfg.Configuration;
    import org.hibernate.Session;
    import org.junit.Test;
    
    
    public class App_session {
    
        private static SessionFactory sf;
        static {
            sf = new Configuration()
                    .configure()
                    .addClass(Dept.class)
                    .addClass(Employee.class)   // 测试时候使用
                    .buildSessionFactory();
        }
    
        @Test
        public void testSession() throws Exception {
            //openSession:  创建Session, 每次都会创建一个新的session
            Session session1 = sf.openSession();
            Session session2 = sf.openSession();
            System.out.println(session1 == session2);
            session1.close();
            session2.close();
    
            //getCurrentSession 创建或者获取session
            // 线程的方式创建session
            // 一定要配置:<property name="hibernate.current_session_context_class">thread</property>
            Session session3 = sf.getCurrentSession();// 创建session,绑定到线程
            Session session4 = sf.getCurrentSession();// 从当前访问线程获取session
            System.out.println(session3 == session4);
    
            // 关闭 【以线程方式创建的session,可以不用关闭; 线程结束session自动关闭】
            //session3.close();
            //session4.close(); 报错,因为同一个session已经关闭了!
        }
    }
  • 相关阅读:
    剑指OFFER 滑动窗口的最大值
    剑指OFFER 正则表达式匹配
    linux动态链接库的使用
    剑指OFFER 序列化二叉树
    剑指OFFER 数字在排序数组中出现的次数
    剑指OFFER 数组中的逆序对
    剑指OFFER 反转链表
    剑指OFFER 二叉树的深度
    剑指OFFER 矩形覆盖
    网络相关的命令工具-iptables
  • 原文地址:https://www.cnblogs.com/loaderman/p/10038545.html
Copyright © 2011-2022 走看看