Hibernate session.getTransaction().begin()vs session.beginTransaction()之间的区别

Ran*_*aul 6 java hibernate transactions

我找不到关于这个主题的很多信息.有人可以解释一下Hibernate session.getTransaction().begin(session.beginTransaction()vs 之间的差异吗?session.beginTransaction().begin()

Jam*_*ENL 12

调用session.getTransaction().begin()没有太大意义,session.getTransaction()因为它会检测正在进行的事务,因为它假定事务正在进行中.你基本上是在说,开始这个应该已经在进行的交易.

session.beginTransaction() 如果不存在,将会开始新的交易,或者它将使用现有的交易来开始指定的工作单元.

session.beginTransaction().begin() == session.beginTransaction()

有关更多信息,我建议您查看您的Hibernate版本的Hibernate文档.你应该只处理低级别的Hibernate,如果你没有使用a TransactionManager或者你正在使用a,JDBCTemplate那么请考虑因为以这种方式搞乱交易会变得很乱.