Apache Delta Spike に問題がある可能性があります。既に永続化されている親エンティティがあり、それに新しい子を追加しています。EntityRepository を使用すると、挿入時に重複キーの問題が発生します。これは、親がまだ永続化されていないと見なす必要があるためです。
[コード] entityRepository.save(親); // これは重複キー例外をスローします
entityManager.merge(親); //これは機能します[/コード]
面白いことに、CdiQueryInvocationContext のソースを確認したところ、私が行っているのとまったく同じことを行っており、親に識別子があるかどうかを確認しています。その場合、persist ではなく merge を呼び出します。
com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: キー 'User_Environment' のエントリ 'user-1' が重複しています
何か案は?当分の間、entityManager を使用しますが、それでは目的が果たせません。
ありがとう、
ウォルター