【问题标题】:Difference between Hibernate session.getTransaction().begin() vs session.beginTransaction()Hibernate session.getTransaction().begin() 与 session.beginTransaction() 的区别
【发布时间】:2014-08-03 11:57:22
【问题描述】:

我找不到关于这个主题的太多信息。谁能解释一下Hibernate session.getTransaction().begin() vs session.beginTransaction() vs session.beginTransaction().begin()

【问题讨论】:

    标签: java hibernate transactions


    【解决方案1】:

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

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

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

    有关更多信息,我建议您查看您的 Hibernate 版本的 Hibernate documentation。如果您不使用TransactionManager 或者您使用的是JDBCTemplate,那么您应该只像这样处理低级别的Hibernate,所以请考虑一下,因为以这种方式处理事务会很快变得混乱。

    【讨论】:

    猜你喜欢
    • 2014-12-05
    • 2013-12-02
    • 2013-09-06
    • 2020-09-22
    • 2011-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多