我有这种方法
@Component
public class Services implements Serializable {
@Transactional(propagation = Propagation.REQUIRES_NEW, noRollbackFor = Exception.class, timeout = -1)
public void method() {
try {
addBean(bean1);
} catch (Exception e) {
e.printStackTrace();
}
addBeans(List<Beans); // Adds Lists of beans
editBean(bean1); // Edit first bean "bean1"
}
}
但是我总是得到org.springframework.transaction.TransactionSystemException: Could not commit JPA transaction; nested exception is javax.persistence.RollbackException: Transaction marked as rollbackOnly
...我尝试了很多但从未达到的任何帮助?
答案 0 :(得分:0)
RollbackException是RuntimeException,因此不是派生自Exception。但我怀疑RuntimeException的norollback不会有所帮助,因为原因可能是其他原因。可能是超时,乐观锁定问题,唯一标识重复,...可能发生回滚的原因很多,与引发异常无关。