什么是Hibernate的Transaction.wasCommitted方法的替代品?

Rob*_*b N 7 java hibernate

我正在尝试从旧版本的Hibernate(版本3)更新一些代码.它使用Transaction了Hibernate 5中不再存在的两种接口方法.

session.getTransaction().wasCommitted()
session.getTransaction().wasRolledBack()
Run Code Online (Sandbox Code Playgroud)

Hibernate 5中的等价物是什么?

Joh*_*ger 9

你似乎在寻找session.getTransaction().getStatus().例如,

session.getTransaction().getStatus() == TransactionStatus.COMMITTED
session.getTransaction().getStatus() == TransactionStatus.ROLLED_BACK
Run Code Online (Sandbox Code Playgroud)

您可能还需要检查TransactionStatus的文档以查看相对精细的事务状态粒度,因为您可能需要或需要比上述更具包容性的替代品.另外,不要忽视TransactionStatus你可能觉得有用的方法.例如,

session.getTransaction().getStatus().isOneOf(
        TransactionStatus.MARKED_ROLLBACK,
        TransactionStatus.ROLLING_BACK,
        TransactionStatus.ROLLED_BACK)
Run Code Online (Sandbox Code Playgroud)