我们有一些第三方代码,他们在其中执行以下操作
项目清单
创建用户事务,例如
txn = (UserTransaction)ctx.lookup( "UserTransaction" ); txn.begin( );
做一些持久化到数据库(通过 JPA)到 MySQL 数据库的工作
txn.commit()
他们有异常块,但没有一个调用txn.rollback
. 良好的编码习惯说,如果发生异常,他们需要调用回滚,但我的问题是如果 txn 未提交,并且发生异常,他们不调用回滚的负面影响是什么?