我的情况是我有Entities
树和Session Bean
树。 Session Bean
只是保留或合并实体,相关方法标记为@TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)
。
现在,如果子实体由于(例如)外键冲突或缺少非可空字段而无法持久化/合并,则会在要回滚的日志中标记该事务,并且{抛出{1}}我期待整个事务被回滚,但是我发现在EJB会话bean调用返回之后,父实体出现在数据库中,尽管子实体失败了。
还有其他人看到过这样的行为吗?其他信息:
EJBException
感谢。
答案 0 :(得分:2)
看起来Glassfish中的连接池已设置为启用了“非事务性连接”标志。这导致无法回滚。