У меня есть два приложения, которые используют одну и ту же библиотеку для работы с базой данных. Первое приложение - настольное, а второе - веб. Таким образом, оба из них могут одновременно изменить одну и ту же запись в моей базе данных (PostgreSql). Библиотека использует этот код:JPA EntityManager default merge behavior
//it doesnt use em.getTransaction()
em.merge(userAcc);//change useraccount
Может ли этот код вызвать взаимоблокировку? Что такое поведение слияния по умолчанию? Использует ли слияние транзакцию внутри? На самом деле порядок двух операций слияния не имеет значения.
Так что если он использует транзакции внутри того уровня текущей изоляции. – bossman
Спецификация JPA не определяет уровень изоляции по умолчанию. Он будет определяться базовой базой данных и поставщиком сохранения. – zagyi