调用session.getTransaction().begin()没有多大意义,因为调用session.getTransaction()将假定已在进行事务,因此检索已在进行中的事务。您基本上是说,开始应该已经进行的此事务。
session.beginTransaction() 如果不存在一个新事务,它将开始一个新事务,或者将使用一个现有事务来开始指定的工作单元。
session.beginTransaction().begin() == session.beginTransaction()
有关更多信息,建议您查看适用于您的Hibernate版本的Hibernate文档。如果不使用aTransactionManager或使用a JDBCTemplate,则应该只处理低水平的Hibernate,因为这样处理事务会很快变得混乱。
解决方法我找不到有关此主题的大量信息。有人可以解释一下 Hibernatesession.getTransaction().begin(和session.beginTransaction()vs之间的区别吗session.beginTransaction().begin()