有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java为什么不支持事务。wasCommitted()返回false?

我不熟悉hibernate和java ee,我想知道是否有人能告诉我为什么这段代码返回false,即使从数据库中我可以看到事务实际上已提交:

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

谢谢


共 (1) 个答案

  1. # 1 楼答案

    wasCommitted()不必总是返回true,即使提交成功。如果该事务(明确地)通过该本地事务committed,它将返回truefalse否则

    docs开始:

    wasCommitted

    This method could return false even after successful invocation of commit(). As an example, JTA based strategies no-op on commit() calls if they did not start the transaction; in that case, they also report wasCommitted() as false.