我正在尝试从旧版本的Hibernate(版本3)中更新一些代码。它使用了Hibernate 5中不再存在的Transaction
接口(interface)的两种方法。
session.getTransaction().wasCommitted()
session.getTransaction().wasRolledBack()
Hibernate 5中的等效功能是什么?
最佳答案
您似乎正在寻找session.getTransaction().getStatus()
。例如,
session.getTransaction().getStatus() == TransactionStatus.COMMITTED
session.getTransaction().getStatus() == TransactionStatus.ROLLED_BACK
您可能还需要检查the docs of TransactionStatus来查看交易状态的相对细粒度,因为您可能想要或需要比上述更多的包容性替代品。另外,请不要忽略
TransactionStatus
的方法,这些方法可能会对您有所帮助。例如,session.getTransaction().getStatus().isOneOf(
TransactionStatus.MARKED_ROLLBACK,
TransactionStatus.ROLLING_BACK,
TransactionStatus.ROLLED_BACK)
关于java - 什么是Hibernate的Transaction.wasCommitted方法的替代品?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42866985/