我对注释@Transactional
存在问题。管理交易回滚
我有一个方法做一些东西,并在里面我扔和catch。
我认为(即使我已经发现异常)它将事务设置为rollbackOnly(某些触发器异常抛出),并且它没有成功提交事务。
以下是错误:
org.springframework.transaction.TransactionSystemException : Could not commit JPA transaction; nested exception is javax.persistence.RollbackException: Transaction marked as rollbackOnly
我可以添加在@Transactional
无回退,因为我抛出和捕获,但我不认为这是一个真正的解决方案除外。
也许有一种方法来取消该rollbackOnly的交易,但我不认为这是最好的做法太...
那么,你有什么想法,我应该怎么办?
感谢,
谢谢你的回答。 (我只能阅读你给出的链接的一部分),而且我不确定你是否在讨论在我的情况下通常不使用异常,还是不使用运行时异常。注意:(我使用一个异常来警告从某些类抛出的错误到其他类) – RoD 2011-02-25 11:08:17
@RoD您应该阅读Effective Java书,它是每个Java开发人员应该阅读的一本书。但要理解这一特定方面,您可以阅读本搜索返回的任何文章:[例外“流量控制”](http://www.google.com/search?q=exceptions+%22flow+control%22) – 2011-02-25 13:44:18