EJB3 / DB2事务不回滚

时间:2009-10-16 12:51:58

标签: jpa db2 ejb-3.0 transactions toplink-essentials

我的情况是我有Entities树和Session Bean树。 Session Bean只是保留或合并实体,相关方法标记为@TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)

现在,如果子实体由于(例如)外键冲突或缺少非可空字段而无法持久化/合并,则会在要回滚的日志中标记该事务,并且{抛出{1}}我期待整个事务被回滚,但是我发现在EJB会话bean调用返回之后,父实体出现在数据库中,尽管子实体失败了。

还有其他人看到过这样的行为吗?其他信息:

EJBException

感谢。

1 个答案:

答案 0 :(得分:2)

看起来Glassfish中的连接池已设置为启用了“非事务性连接”标志。这导致无法回滚。