私はエンティティマネージャーem1を持っています。em1はdb1 table1でトランザクションtxを開始します。tx内でAPI getdata()を呼び出します。このAPIは新しいエンティティマネージャーem2を作成し、1つのレコードを返します。エンティティマネージャーem1が返されたレコードを削除しようとするとem1 によって、ハングします。コードがタイムアウトします。レコードは em1 によってロックされています。この問題をどのように解決できますか?
create em1
//em1 start transcation tx1
tx1.start
Object r = getData();
em1 tried to delete r //code hangs here
tx1.commit
Object getData(){
create em2
return data found using em2
}