一尘不染

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

hibernate

我找不到有关此主题的大量信息。有人可以解释一下 Hibernate
session.getTransaction().begin(session.beginTransaction()vs
之间的区别吗session.beginTransaction().begin()


阅读 462

收藏
2020-06-20

共1个答案

一尘不染

调用session.getTransaction().begin()没有多大意义,因为调用session.getTransaction()将假定已在进行事务,因此检索已在进行中的事务。您基本上是说,开始应该已经进行的此事务。

session.beginTransaction() 如果不存在一个新事务,它将开始一个新事务,或者将使用一个现有事务来开始指定的工作单元。

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

有关更多信息,建议您查看适用于您的Hibernate版本的Hibernate文档。如果不使用a
TransactionManager或使用a JDBCTemplate,则应该只处理低水平的Hibernate,因为这样处理事务会很快变得混乱。

2020-06-20