0

我是 hibernate 和 java-ee 的新手,我想知道是否有人能告诉我为什么这段代码返回 false,即使通过查看数据库我可以看到事务实际上已提交:

    session.beginTransaction();
    session.saveOrUpdate(user);
    session.getTransaction().commit();
    return session.getTransaction().wasCommitted(); //Always false

谢谢!

4

1 回答 1

2

wasCommitted()true即使提交成功也不必总是返回。true如果交易(明确地)committed通过此本地交易,它将返回;false否则。

文档中:-

被承诺

即使在成功调用 commit() 之后,此方法也可能返回 false。例如,基于 JTA 的策略 no-op on commit() 调用,如果它们没有启动事务;在这种情况下,他们还将 wasCommitted() 报告为 false。

于 2013-03-19T15:47:42.437 回答