我们有一个 servlet 来服务许多并发请求,有时一些请求会抛出异常。我从 Hibernate 指南中看到了这个警告:
“如果 Session 抛出异常,包括任何 SQLException,立即回滚数据库事务,调用 Session.close() 并丢弃 Session 实例。”
在我的真实场景中,一个请求对数据库进行了许多重要的更改,当我们发现异常时,我们必须回滚之前所做的所有更改。
因此,我们似乎必须实现每个请求的事务模式,而不是每个查询的事务,以确保所有更改都将被回滚。
这是正确的?