LAC*_*LAC 5 spring hibernate spring-transactions
我有一个DAO类,可以javax.persistence.PersistenceException将它们包装起来并作为检查后的异常重新抛出。此方法标记为@org.springframework.transaction.annotation.Transactional。
如果我在DAO中遇到异常,例如违反约束,它将包装在我的自定义异常中,但是spring会覆盖我的异常
[tp1415357209-22] o.s.t.i.TransactionInterceptor : Application exception overridden by commit exception
Run Code Online (Sandbox Code Playgroud)
并抛出自己的 org.springframework.transaction.TransactionSystemException: Could not commit JPA transaction; nested exception is javax.persistence.RollbackException: Transaction marked as rollbackOnly
通过记录并重新抛出自己的异常来“吞噬”我的异常。如何防止spring这样做?
聚苯乙烯
@Transactional(noRollbackFor = { MyCustomException.class})
Run Code Online (Sandbox Code Playgroud)
不起作用。当然,我确实希望将事务设置为回滚,但是我不希望我的异常被春天吞没。
| 归档时间: |
|
| 查看次数: |
6685 次 |
| 最近记录: |