Entities、および のツリーがある状況がありSession Beanます。はSession Bean単にエンティティを永続化またはマージし、問題のメソッドは としてマークされ@TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)ます。
外部キー違反や null 非許容フィールドの欠落などにより、子エンティティの永続化/マージに失敗した場合、トランザクションはログでロールバックされるようにマークされ、EJBExceptionスローされます。トランザクション全体がロールバックされることを期待していましたが、代わりに、子エンティティの障害にもかかわらず、EJB セッション Bean 呼び出しが返された後に親エンティティがデータベースに表示されています。
他の誰かがこのような行動を見たことがありますか? 追加情報:
Server: Glassfish
Persistence manager: Toplink
Connection Pool: DB2 Universal Driver XA compliant driver.
ありがとう。