このようなエラーが発生していました
同じ識別子の値を持つ別のオブジェクトが、すでにセッションに関連付けられています:
私が検索したところCascadeType.MERGE
、多くのコードを修正またはリファクタリングして、同じデータベース オブジェクトがセッション内で 2 つのインスタンスになるのを防ぐことができることがわかりました。
私はそれをリファクタリングすることはできません。
CascadeType.MERGE
動作しましたが、それは削除の問題を解決するために多くのコードを作成する必要があることを意味します.ALL
。以前のことですよね?
私はそれを入れて動作させました
@Transactional(propagation = Propagation.REQUIRES_NEW)
で注釈が付けられたクラスのメソッドの上に@Service
、そのクエリデータベースがあり、私が言及した例外をスローしていたものでした。
この新しい注釈付きメソッドが、現在のような将来の頭痛の種になるかどうかを理解する助けが必要です。
私が修正しているアクションの横にあるいくつかのcronジョブから呼び出されています。