在具有托管上下文的应用程序(Play!,Eclipselink)中,我确实有一个使用JPA.withTransaction的方法,但不能进行回滚。它具有外部通信和XML编组和解组等功能,因此可能会出现不同的异常。
JPA.withTransaction的正常行为是在(大多数)异常上回滚当前事务。
如果在触及外部Ressources后抛出此类Exception,则数据库必须保留当前步骤以启用继续/清理。
我没有找到实现自动提交或禁用回滚的方法。我已经读过,只是捕获Exception不会起作用,因为事务已标记为回滚。
那么哪种方法可以禁用回滚并尽快提交每个查询?我不想打扰其他应用程序,所以我会避免
JPA.em().getTransaction().commit();
JPA.em().getTransaction().begin();
每次写完后。
我可以通过哪种方式保留书面数据?