java getCurrentSession与openSession区别据介绍:getCurrentSession可以根据上下文来决定到底需不需要新建一个session,openSession 是一定会新建一个那么 Session session = sf.getCurrentSession(); Session session1 = sf.ge

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/03 20:00:21
java getCurrentSession与openSession区别据介绍:getCurrentSession可以根据上下文来决定到底需不需要新建一个session,openSession 是一定会新建一个那么  Session session = sf.getCurrentSession();  Session session1 = sf.ge

java getCurrentSession与openSession区别据介绍:getCurrentSession可以根据上下文来决定到底需不需要新建一个session,openSession 是一定会新建一个那么 Session session = sf.getCurrentSession(); Session session1 = sf.ge
java getCurrentSession与openSession区别
据介绍:getCurrentSession可以根据上下文来决定到底需不需要新建一个session,
openSession 是一定会新建一个
那么 Session session = sf.getCurrentSession();
Session session1 = sf.getCurrentSession();
System.out.print(session.equals(session1));
为什么是false? 按理说是指向同一个Session对象 应该是true啊!
还有 System.out.print(session == session1);怎么就输出true 了?
“ == ”不是比较引用(引用的地址)吗?一个是session 一个是session1
怎么就true了呢?

java getCurrentSession与openSession区别据介绍:getCurrentSession可以根据上下文来决定到底需不需要新建一个session,openSession 是一定会新建一个那么 Session session = sf.getCurrentSession(); Session session1 = sf.ge
getCurrentSession的话会自动关闭,而openSession需要你手动关闭.
如果你正在查询,使用的openSession而没有手动关闭,多次之后会导致连接池溢出,系统会挂掉的~
session == session1 虽然它们的别名是不一样的,但是指向同一块内存空间的,若如你所说应该是不一样,那内存中就会有2个一样的内存空间咯?那这样也不好管理的哦