Hibernate session.getTransaction().begin() 与 session.beginTransaction() 的区别 [英] Difference between Hibernate session.getTransaction().begin() vs session.beginTransaction()
问题描述
我找不到有关此主题的太多信息.有人可以解释一下 Hibernate session.getTransaction().begin(
) 与 session.beginTransaction()
与 session 之间的区别是什么.beginTransaction().begin()
I couldnt find much information on this topic. Can someone explain me whats the Difference between Hibernate session.getTransaction().begin(
) vs session.beginTransaction()
vs session.beginTransaction().begin()
推荐答案
调用 session.getTransaction().begin()
没有多大意义 session.getTransaction()
将检索已在进行中的事务,因为它假定事务正在进行中.你基本上是说,开始这个应该已经在进行中的事务.
Calling session.getTransaction().begin()
doesn't make much sense as session.getTransaction()
will retrieve the transaction already in progress because it assumes that a transaction is in progress. You are basically saying, begin this transaction that should already be in progress.
session.beginTransaction()
要么开始一个新事务(如果不存在),要么使用现有事务开始指定的工作单元.
session.beginTransaction()
will either begin a new Transaction if one isn't present, or it will use an existing transaction to begin the unit of work specified.
session.beginTransaction().begin()
== session.beginTransaction()
有关更多信息,我建议您查看适用于您的 Hibernate 版本的 Hibernate 文档.如果您没有使用 TransactionManager
或者您使用的是 JDBCTemplate
,那么您应该只处理像这样的低级别 Hibernate,所以请考虑一下,因为在此处理事务方式很快变得混乱.
For more information I suggest you have a look at the Hibernate documentation for your version of Hibernate. You should only be dealing with the low levels of Hibernate like this if you are not using a TransactionManager
or you are using a JDBCTemplate
so have a think because messing with transactions in this way gets messy fast.
这篇关于Hibernate session.getTransaction().begin() 与 session.beginTransaction() 的区别的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!