中止由@Transactional创建但正确返回的事务(不抛出异常)

时间:2011-08-16 20:08:06

标签: hibernate spring java-ee transactions

我有一个用@Transactional注释的方法。在此方法中,将解析数据对象,并最终将其保存在数据库中。如果解析失败,则此方法不会抛出异常,而是返回特殊值。

如何判断事务是否回滚?通常,@ Transaction创建的事务只是在异常时回滚。

请不要告诉我为什么我不应该返回特殊值或为什么在我的情况下使用@Transactional没有意义。我需要一个有效的解决方案,即使它不是最好的设计 - 我自己也知道。

感谢您的帮助!

2 个答案:

答案 0 :(得分:2)

TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();

答案 1 :(得分:1)