1.首先,建立一个静态factory方法,提供给CurrentSession。
public class CongUtil {
public static SessionFactory getUtil(){
Configuration config = new Configuration();
SessionFactory SeFactory = config.configure().buildSessionFactory();
return SeFactory;
}
}
2.建立一个类检测sessionfactory的方法
public class EntityUser {
@Test
public void currentSsesionTest(){
seFactory = CongUtil.getUtil();
Session se1 = seFactory.getCurrentSession();
Session se2 = seFactory.getCurrentSession();
//System.out.println(se1.equals(se2));
System.out.println(se1==se2);
}
}
3.比较方法,用了==和equals方法。
得出结论:
(1)运行程序,大家会发现==得出的结论是true,equals得出的结论是false。
(2)首先==比较的是内存地址。equals比较的是内容。
(3)getCurrentSession()方法没有重新创建一个session对象,而是在Thread里面去查找有无session,而我们常用的OpenSession()方法每次运行都会创建一个session。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)