6

我正在使用 Spring 3 来管理数据库事务。每当引发异常时,我都会捕获异常并返回相应的消息。但是当 Spring 提交事务时,再次引发异常并包装在org.springframework.dao.DataIntegrityValidationException. 我该如何处理该异常?我应该使用拦截器还是其他东西?以前有人遇到过这个问题吗?

提前致谢

4

1 回答 1

10

如果你的事务边界在你的服务层(如果你有一个,你应该这样做),那么你应该在边界之外捕获异常。Spring 的工作方式是,如果异常在事务边界外冒泡,事务就会回滚。通过捕获异常,您正在停止该过程,您可能不希望这样做。

拦截器是处理事务边界之外的异常的好方法。

于 2010-11-26T20:41:12.767 回答