由于Spring事务处理,关联错误在Service层捕获不到

各位好:
我在用Spring管理事务时,Service层内Dao使用HibernateTemplate做删除操作时,发现有外键关联。由于Spring进行了事务处理,异常不能在Dao内部捕获,而只能在Service层外部捕获。

现在的解决方案是在Service层外部catch异常,从中得到“ORA-xxx”的错误信息。请问有没有更好的办法,在Dao层抛出异常。

我也有这样的疑惑,有什么好办法没?

spring的事务使用的是AOP,使用声明式事务,无法在DAO层捕捉到事务异常