私は次のようなことをするリポジトリメソッドを持っています:
Person
およびDog
はエンティティです。person
およびdog
はメソッド パラメータです。
Dog dog = entityManager.find(Dog.class, dogId);
if (dog== null) {
// creates dog
dog = entityManager.persist(dog);
}
person.addDog(dog);
entityMananger.merge(person);
person と dog は多対多の関係にあります。問題は、犬の挿入ステートメントが最初に実行されていないことだと思います。
ORA-02291 parent key not found
これは、コンテナー管理トランザクションを使用する EJB 3.1 Bean からのものです。