Мне нужна конкретная функция спящего режима, которая является StatelessSession, и для этого мне нужно Hibernate SessionFactory. Проблема в том, что у меня есть только entityManagerFactory. Как я могу получить StatelessSession в этом сценарии?
Получить Hibernate SessionFactory из JPA entityManagerFactory
Ответ 1
Я решил это, введя его, указав этот компонент как http://docs.spring.io/spring/docs/3.0.x/spring-framework-reference/html/orm.html#orm-session-factory-setup
Ответ 2
 Вариант 1 через EntityManagerFactory
 Если вы используете Hibernate >= 4.3 и JPA 2.1 вы можете передать SessionFactory из EntityManagerFactory через <T> T EntityManagarFactory#unwrap(Class<T> cls).
SessionFactory sessionFactory = entityManagerFactory.unwrap(SessionFactory.class);
 Вариант 2 через EntityManager
 Если вы используете Hibernate >= 4.3 и JPA >= 2.0 вы можете перехватить Session из EntityManager через <T> T EntityManagar#unwrap(Class<T> cls). С Session вы можете получить SessionFactory.
Session session = entityManager.unwrap(Session.class);
SessionFactory sessionFactory = session.getSessionFactory();
Ответ 3
 Попробуйте EntityManagerFactory в  HibernateEntityManagerFactory.
 Поскольку EntityManagerFactory не поддерживает unwrap() (в отличие от EntityManager), это, по-видимому, единственный способ достичь вашей цели.
Ответ 4
Hibernate> = 4.3 поддерживает JPA 2.1. Таким образом, вы можете использовать EntityManagerFactory.unwrap, например emf.unwrap(SessionFactory.class).
