作业帮 > 综合 > 作业

java getCurrentSession与openSession区别

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/11/09 03:45:45
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了呢?
getCurrentSession的话会自动关闭,而openSession需要你手动关闭.
如果你正在查询,使用的openSession而没有手动关闭,多次之后会导致连接池溢出,系统会挂掉的~
session == session1 虽然它们的别名是不一样的,但是指向同一块内存空间的,若如你所说应该是不一样,那内存中就会有2个一样的内存空间咯?那这样也不好管理的哦