openSession和getCurrentSession

来源:2-6 session详解(下)

NullMoneyException

2016-10-28 18:03

是不是 openSession() session不管释不释放 下一个session都只能再新建一个连接对象connection?   而getCurrentSession 只要一提交事物 连接就自动释放 下一个session就不用新建connection 也能使用原有的connection  而且用getCurrentSession同时建的两个session 使用的也是同一个connection? 求大神帮忙梳理一下 我有点乱了

写回答 关注

1回答

  • 庞止大坑
    2016-10-28 21:08:43
    已采纳

    从上课的内容来说,openSession()方法实际上是打开一个新的session,在原有session关闭的情况下会使用原有的connection对象,这时两次输出的hashcode是相同的。

    而getCurrentSession()方法是调用原有的session,在第一个session提交事务后会自动释放占有的资源,这时第二个session就会使用原来第一个session使用的connection,两次输出的hashcode相同。

    当getCurrentSession()方法同时创建两个session时,从实验来看,用的是同一个connection,输出的hashcode是先相同的。

    NullMo...

    非常感谢!

    2016-10-28 21:25:56

    共 3 条回复 >

Hibernate初探之单表映射

Java持久化框架Hibernate入门教程,掌握Hibernate基本概念

74810 学习 · 793 问题

查看课程

相似问题