Зачем использовать менеджер сущностей? - PullRequest
2 голосов
/ 22 ноября 2010

Я использую Hibernate для отображения объектов на объекты, и я начал использовать Entity Manager.Это может быть глупый вопрос, но какова причина использования менеджера сущностей?Ранее я использовал HibernateSessionFactory для получения сеанса, а затем использовал этот сеанс для извлечения / передачи данных.

Ответы [ 3 ]

5 голосов
/ 22 ноября 2010

Поскольку EntityManager является частью стандарта - JPA.Теоретически, вы можете переключать реализации (Hibernate, EclipseLink, OpenJPA), если вам нужно.Помимо предполагаемой переносимости, между этими двумя понятиями нет большой разницы.

Hibernate реализует стандарт JPA.Фактически, у EntityManager есть делегат, основанный на конкретной реализации.Для Hibernate делегатом является Session.Если вы позвоните getDelegate(), он вернет текущее значение Session.

. Я всегда использовал спящий режим с JPA (EntityManager) и очень редко имел необходимость получить сеанс.

1 голос
/ 22 ноября 2010

Вы используете EntityManager, когда используете JPA API. Реализация Hibernate EntityManager внутренне вызывает HibernateSessionFactory и управляет сессиями Hibernate для вас.

EntityManager в JPA в основном выполняет те же функции, что и сеансы Hibernate.

1 голос
/ 22 ноября 2010

EntityManager - это концепция JPA. Вам вообще не нужно использовать JPA с Hibernate (на самом деле, если это JPA1, я бы посоветовал вам этого не делать).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...