我创建了一个hibernate会话并为该会话启动了一个事务。
之后,在该会话中逐个多次调用存储过程。在其中一个电话中我遇到了这个错误
org.hibernate.exception.LockAcquisitionException:无法提取ResultSet
在所有过程调用之后,事务被提交。
在这种情况下会发生什么?
我观察到的是,只有一些条目(与存储过程调用相关)反映在MySQL数据库中,而其他条目则没有。
除了对存储过程失败的调用之外,理想的行为是否应该是所有条目都反映在数据库中?
答案 0 :(得分:0)
我想我无法理解你的意思。我仍然想说明一点,以防他们可以帮助你。
如果您有嵌套交易
What happens depends on whether this is a nested transaction:
If it is not, then eventually the transaction times out and rolls back.
If it is, the parent transaction will see that a child transaction has not committed when it commits itself. This will result in a rollback of the entire transaction.