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

来源:学生作业帮助网 编辑:作业帮 时间:2024/12/02 17:07:16
java getCurrentSession与openSession区别据介绍:getCurrentSession可以根据上下文来决定到底需不需要新建一个session,openSession 是一定会新建一个那么  Session session = sf.getCurrentSession();  Session session1 = sf.ge
xSn@~$DD!GPɩRbS% ?᧤@ ?M&Mۄwv)б Ej=73֛ȇ_$q>*ag7Jnξ CYF/J F6J;$ZiC ^ ˺ hxr!GTD*1i2f\nK|KР ?|{M#Vd5  1Dŵ3OD g7cM'060GYb-|JGPʻxSǴ^f(1rQd+pj|T*7 1u[#z*(KvXރqX}А,a7(=ADK8긮V_% te 8ʹ3)-[4ctL hSajO DPh-[^("d[69E^[7e4䓴EOFcck' qePJ(mC̗zШB5> S:j fs%?>K"Z'(g͝5F5Q5hVnh]EΤeT[B

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个一样的内存空间咯?那这样也不好管理的哦