【发布时间】:2009-10-16 12:51:57
【问题描述】:
我有一个Entities 和Session Bean 的树。 Session Bean 只是简单地持久化或合并实体,所讨论的方法标记为@TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)。
现在,如果子实体由于(例如)外键违规或缺少不可为空的字段而无法持久化/合并,事务会在日志中标记为要回滚,并且@ 987654325@ 抛出。我原以为整个事务会回滚,但在 EJB 会话 bean 调用返回后,我看到父实体出现在数据库中,尽管子实体失败了。
有没有其他人看到过这样的行为?附加信息:
Server: Glassfish
Persistence manager: Toplink
Connection Pool: DB2 Universal Driver XA compliant driver.
谢谢。
【问题讨论】:
-
你能显示抛出异常的代码吗?
标签: jpa db2 ejb-3.0 transactions toplink-essentials