Когда мы должны закрыть EntityManagerFactory?

Я являюсь довольно новым на ORM's. Я только начинаю читать книги и документы о Персистентности Java, API с В спящем режиме.

Я просто задался вопросом, закрытие EntityManagerFactory является похожим с jdbc закрытием соединения с базой данных?

Мы должны закрыть его после каждого сохраняемые/обновлять/удалять или нет? Если мы не закроем его, то соединение с базой данных останется открытым?

26
задан Lucky 2 September 2015 в 12:25
поделиться

1 ответ

Я только что подумал, закрытие EntityManagerFactory похоже на закрытие соединения с базой данных jdbc?

Это не совсем так, но закрытие EntityManagerFactory будет ближе к уничтожению всего пула соединений. Если вы хотите думать о соединении JDBC, вам следует подумать о EntityManager .

Должны ли мы закрывать его после каждого сохранения / обновления / удаления или нет?

Создание EntityManagerFactory - довольно дорогостоящая операция, и ее следует выполнять один раз за время существования приложения (вы закрываете в конце приложения). Итак, нет, вам не следует закрывать его для каждой операции сохранения / обновления / удаления.

EntityManagerFactory создается раз и навсегда, и вы обычно получаете EntityManager на запрос, который закрывается в конце запроса ( EntityManager на запрос является наиболее распространенным шаблоном для многопользовательского клиент-серверного приложения).

Если мы не закроем его, останется ли соединение с базой данных открытым?

Как уже было сказано, это EntityManager , который на самом деле связан с соединением с базой данных и закрывает EntityManager фактически освобождает соединение JDBC (чаще всего возвращает его в пул).

37
ответ дан 28 November 2019 в 07:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: