Итак, мой начальник попросил меня найти способ использовать JPA в Spring без использования EJB в распределенной среде (одна БД и несколько сессий чтения / записи из нее). Но у меня много путаницы.
Я использовал Spring Boot и JPA, используя сущности с аннотацией @Entity
в простых проектах, и если я правильно понял, это EJB, верно?
Итак, теперь он сказал мне, что не хочет использовать EJB-компоненты, но выясняет, возможно ли это, насколько сложно / легко и что можно использовать для правильного управления распределенными транзакциями в одной и той же БД, не имея корпоративных компонентов, которые из того, что я понял, легко решить эту проблему самостоятельно.
Я знаю, что это сбивает с толку, но я не знаю, с чего начать и что искать, и какой лучший способ гарантировать свойства ACID, не использующие EJB.
Я читал, что вместо EJB можно использовать EntityManager и UserTransaction из JTA для управления транзакциями вручную. Это хорошо в распределенной среде? Каково было бы его поведение? Как можно гарантировать правильное обновление для всех сеансов?