我有一种情况,我有一棵树,一Entities
棵树Session Bean
。简单地保留或合并实体,并且有问题的Session Bean
方法标记为@TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)
。
现在,如果由于(例如)外键违规或缺少不可为空的字段而导致子实体无法持久化/合并,则事务在日志中被标记为回滚,并被EJBException
抛出。我期待整个事务被回滚,但是在 EJB 会话 bean 调用返回后,我看到父实体出现在数据库中,尽管子实体失败了。
有没有其他人看到过这样的行为?附加信息:
Server: Glassfish
Persistence manager: Toplink
Connection Pool: DB2 Universal Driver XA compliant driver.
谢谢。