
Чтобы получить SessionFactory из EntityManagerFactory, необходимо развернуть первое из второго.
Листинг 7. Получение SessionFactory из EntityManagerFactory
.png)
Начиная с JPA версии 2.0, мы можем получать доступ к API соответствующих реализаций. EntityManagerFactory (а также EntityManager) объявляют метод развертывания, который будет возвращать объекты, принадлежащие классам реализации JPA. Используя реализацию Hibernate, мы можем получить соответствующие объекты SessionFactory или Session.
Возможно, нас интересует обратная операция — создание EntityManagerFactory из первоначальной конфигурации Hibernate.
Листинг 8. Получение EntityManagerFactory из конфигурации Hibernate
- Мы создаем новую конфигурацию Hibernate #1, затем вызываем метод конфигурации, который добавляет в конфигурацию содержимое файла по умолчанию hibernate.cfg.xml.
- В явном виде добавляем Item как аннотированный класс #2.
- Создаем новый хэш-массив для заполнения его существующими свойствами #3.
- Получаем имена всех свойства из конфигурации Hibernate #4, затем добавляем из по одному в ранее созданный ассоциативный массив #5.
- Возвращаем новый EntityManagerFactory, предоставляя ему имя блока постоянного хранения cscs и ранее созданный массив свойств #6.