了解Hibernate文档中的可选事务定义

时间:2014-08-04 19:08:41

标签: java database hibernate jpa transactions

根据Hibernate doc,交易的定义是:

  

交易(org.hibernate.Transaction)

     

(可选)单线程,   应用程序用来指定原子单位的短期对象   工作。它从底层的JDBC,JTA或者抽象应用程序   CORBA交易。 org.hibernate.Session可能跨越几个   org.hibernate.Transactions在某些情况下。但是,交易   划分,使用底层API或   org.hibernate.Transaction永远不是可选的。

当医生说:

时意味着什么
  

然而,事务划分,使用底层API或   org.hibernate.Transaction永远不是可选的。

请帮助我理解它的含义?

2 个答案:

答案 0 :(得分:1)

这意味着您需要使用事务,无论是通过注释还是普通API(即使用会话的Transaction方法启动beginTransaction()然后在最后提交它)。

答案 1 :(得分:1)

Every database operation在事务中运行,即使您没有显式调用begin / commit / rollback。

如果您未指定数据库事务边界,则假定为AUTO-COMMIT模式。但是,虽然自动提交仅在SQL UI浏览器中有意义,但对于ORM工具甚至是在一种业务方法中运行多个语句的JDBC来说,它没有多大意义。