私は一貫してJPAの閉じた接続の問題に遭遇しています。休止状態 3.0 で春 3.0.5 を使用しています。JPA トランザクション マネージャーを使用してサービスを管理し、REQUIRED 伝播を使用しています。
これが私のシナリオです。
Table A
id
desc (LAZY)
Table B
a_id
a_id in Table B refers to id of Table A.
エンティティ B を指定してエンティティ A をロードしたい。
Here is what I am doing (roughly) inside the controller:
List<B> list = serviceB.find() ;
for each element - itemB in above list : itemA = serviceA.find(itemB.a_id);
convert itemA to UI bean and set it in model.
REQUIRED 伝播により、サービス内の各 find() メソッドがトランザクション内で実行されると想定しています。ただし、2番目の find() では例外がスローされ、断続的すぎます。接続が閉じていると表示されることもあれば、「トランザクションがアクティブではありません」と表示されることもあり、奇妙なことに、期待どおりに動作することもあります。私を夢中にさせる..
助けてください!