У меня есть EJB, где я сохраняю объект в базе данных. В примере, который я видел, после сохранения этих данных (EntityManager.persist) происходит вызов EntityManager.flush(); Зачем мне это делать? Сохраняемый объект не прикреплен и не используется позже в методе. Фактически, после сохранения метод возвращается, и я ожидаю, что ресурсы будут освобождены. (Пример кода также делает это при удалении вызова.)
if (somecondition) {
entityManager.persist(unAttachedEntity);
} else {
attachedEntityObject.setId(unAttachedEntity.getId());
}
entityManager.flush();