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

查看:192
本文介绍了Hibernate session.getTransaction()。begin()与session.beginTransaction()之间的区别的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我无法找到关于这个话题的很多信息。有人可以解释一下 Hibernate session.getTransaction()。begin()vs session.beginTransaction() vs session.beginTransaction()。begin()

解决方案调用 session.getTransaction()。begin()没有太大意义,因为 session.getTransaction()将检索已经进行的交易,因为它假定交易正在进行中。你基本上是说,开始这个应该已经在进行的交易。



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

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



我建议你查看你的Hibernate版本的 Hibernate文档。如果你没有使用 TransactionManager 或者你使用的是 JDBCTemplate 所以有一个想法,因为用这种方式搞乱交易会变得很快。


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()

解决方案

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() 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()

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天全站免登陆