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.
ありがとう。