Spring 3.0.5で休止状態3.3を使用し、JPAトランザクションマネージャーを使用しています。私のシナリオは、UI で 2 つの領域をレンダリングするためにサービス層で 2 つの get メソッドを呼び出す UI ページです。リクエストは並列 ajax リクエストです。サービス層の get メソッドは、同じエンティティの 2 つの「別々の」リストを返します。
List<Car> getCarsA();
List<Car> getCarsB();
以下のように JPA トランザクション マネージャーを構成しました。
<tx:method name="get*" read-only="true" propagation="REQUIRED"/>
問題 : 各サービス メソッドが終了した後に hibernate/JPA がフラッシュを呼び出すと、(多対多マッピングを介して) メソッドによって返される 2 つのリスト間で共有されるコレクションが存在する可能性があるため、例外が発生します。OpenEntityManagerInViewFilter も使用しています。メソッドを連続して呼び出すと、このエラーは発生しません。