无法捕获DataIntegrityViolationException与包装事务

无法捕获DataIntegrityViolationException与包装事务

问题描述:

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

在此先感谢

如果你的事务边界为您服务层(如果有的话,你应该),那么你应该捕获该异常的边界之外。 Spring的工作方式是,如果异常在事务边界之外冒泡,则事务将回滚。通过捕捉异常,你正在停止那个你可能不想要的过程。

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

+0

现在我明白我的错误在哪里。谢谢 – Neuquino 2010-11-27 21:52:06