У меня есть транзакция, которая использует один entitymanager em1
. Внутри этой транзакции я вызываю метод. Теперь этот метод создает еще один entitymanager em2
. Теперь em2
работает с некоторыми данными и возвращает один объект. Теперь этот объект заполняется значением одной строки из db. Обратите внимание, что em2
не закрыт. Somone еще реализовал этот API, и я просто использую его.- запись заблокирована, когда на ней работает entitymanger?
Теперь, если я попытаюсь удалить запись, возвращенную em1
, мой код зависает, а затем истекает время. Это потому, что em1 заблокировал эту конкретную запись?
псевдокод выглядит следующим образом
start tx using em1
Obj a = newSomeobject().getdata(id); //get data uses em2 and em2 is not closed.
// now tx ties to update record returnd by getdata and the code times out
Почему никто не отвечает? – akshay
@ DataNucleus: я приложил все ответы на предыдущие вопросы. Я не знал, что я должен принять ответы. Новое на этом сайте – akshay
ждет ответов – akshay