小编Aas*_*osh的帖子

hibernate中JTA,JPA和Plain JDBC之间的区别

就hibernate而言,JTA,JPA和Plain JDBC有什么区别?

java hibernate jpa jta jdbc

54
推荐指数
3
解决办法
4万
查看次数

getCurrentSession在web中进行hibernate

我正在用hibernate和jsp/servlet编写一个基于Web的应用程序.我已经阅读了有关方法sessionFactory.getCurrentSessionsessionFactory.openSession方法.我知道它们之间的基本区别(使用getCurrentSession您不必关闭连接,当您提交事务时,您的会话将自动关闭).根据我的理解,我们应该选择getCurrentSession并通过每个请求进行会话.

让我们考虑以下场景:

  1. 方法A调用getCurrentSession并获取当前会话
  2. 在方法A中,使用步骤1中的会话启动事务
  3. 方法A调用方法B,它也具有getCurrentSession并启动事务
  4. 方法B提交其事务
  5. 控制返回到方法A,它也提交事务

现在我的问题是

  1. 在步骤1和步骤3中找到的会话是否会是同一个会话?
  2. 如果问题1的答案是肯定的,那么它将如何处理第4步中的提交?理想情况下,它应该关闭那里的会话,并应在第5步抛出异常.
  3. 如果问题1的答案为否,那么您如何处理这样的情况呢?

java orm hibernate

8
推荐指数
2
解决办法
6996
查看次数

标签 统计

hibernate ×2

java ×2

jdbc ×1

jpa ×1

jta ×1

orm ×1