Я пытаюсь сделать 2 разных вызова БД с одной и той же сущностью транзакции.Я знаю, что могу сделать оба запроса между begin()
и commit()
, но я пробую это только в образовательных целях.
EntityTransaction transaction = em.getTransaction();
EventService eventService = new EventService();
transaction.begin();
Event currentEvent = eventService.read(eventId);
transaction.commit();
if (currentEvent != null){
CommentService commentService = new CommentService();
transaction.begin();
commentList = commentService.getList(1, id, 50);
transaction.commit();
}
Этот фрагмент кода выдает:
Описание исключения: транзакция в настоящее время активна
, что нормально, если я пытаюсь begin()
к уже открытой транзакции.
Правильно ли исключить вторую transaction.begin()
и просто использовать commit()
всякий раз, когда мне нужно работать с БД?
LE: Я использую EclipseLink и RESOURCE_LOCAL