0

我们有一个 servlet 来服务许多并发请求,有时一些请求会抛出异常。我从 Hibernate 指南中看到了这个警告:

“如果 Session 抛出异常,包括任何 SQLException,立即回滚数据库事务,调用 Session.close() 并丢弃 Session 实例。”

在我的真实场景中,一个请求对数据库进行了许多重要的更改,当我们发现异常时,我们必须回滚之前所做的所有更改。

因此,我们似乎必须实现每个请求的事务模式,而不是每个查询的事务,以确保所有更改都将被回滚。

这是正确的?

4

1 回答 1

0

这取决于您想要什么,但是是的,一般来说,您希望在请求的整个生命周期中都需要一个事务,并且您希望该请求的所有数据库操作都参与该事务。通常,这也意味着有一个会话绑定到请求。

于 2012-07-28T11:15:02.810 回答