Hibernate session.getTransaction().begin() 与 session.beginTransaction() 的区别 [英] Difference between Hibernate session.getTransaction().begin() vs session.beginTransaction()

查看:25
本文介绍了Hibernate session.getTransaction().begin() 与 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆