Ich brauche eine bestimmte Funktion von Hibernate, die StatelessSession ist und für die ich Hibernate SessionFactory benötigen. Das Problem ist, ich habe nur die EntityManagerFactory. Wie kann ich in diesem Szenario eine statelessSession erhalten?Holen Hibernate SessionFactory von JPA EntityManagerFactory
Antwort
Ich löste es, indem es eingespritzt wird, definieren die Bohne wie diese http://docs.spring.io/spring/docs/3.0.x/spring-framework-reference/html/orm.html#orm-session-factory-setup
Versuchen Sie, EntityManagerFactory
zu HibernateEntityManagerFactory
zu werfen.
Da EntityManagerFactory
unwrap()
nicht unterstützt (im Gegensatz zu EntityManager
), scheint es der einzige Weg zu sein, um Ihr Ziel zu erreichen.
Hibernate> = 4.3 unterstützt JPA 2.1. Sie können also EntityManagerFactory.unwrap wie emf.unwrap (SessionFactory.class) dort verwenden.
Eine andere Lösung besteht darin, den EntityManager in eine Sitzung zu entpacken und dann den SessionManager aus der Sitzung zu holen. Dies funktioniert auch in jpa 2.0 –
Option 1 durch EntityManagerFactory
Wenn Sie Hibernate >= 4.3
verwenden und JPA 2.1
Sie die SessionFactory
von einem EntityManagerFactory
durch <T> T EntityManagarFactory#unwrap(Class<T> cls)
accces können.
SessionFactory sessionFactory = entityManagerFactory.unwrap(SessionFactory.class);
Option 2 durch EntityManager
Wenn Sie Hibernate >= 4.3
und JPA >= 2.0
dann verwenden können Sie die SessionFactory
von einem EntityManager
durch <T> T EntityManagar#unwrap(Class<T> cls)
accces.
Session session = entityManager.unwrap(Session.class);
SessionFactory sessionFactory = session.getSessionFactory();
- 1. Build-EntityManagerFactory mit Hibernate und JPA
- 2. JPA mit Hibernate 5: erstellen programmatisch EntityManagerFactory
- 3. Hibernate SessionFactory
- 4. Erstellen von EntityManagerFactory aus dem Ruhezustand Konfiguration
- 5. Singleton SessionFactory in Hibernate
- 6. Hibernate holen Profile mit JPA Repositorys
- 7. Hibernate SessionFactory vs Spring LocalSessionFactoryBean
- 8. hibernate 4 sessionfactory placestoscan eigenschaftsverwendung
- 9. Hibernate SessionFactory-Bean ohne Spring
- 10. Verwenden von Spring transactionManager in JPA/Hibernate
- 11. Simultane Nutzung von Hibernate und Spring Daten jpa?
- 12. Spring Data JPA + Hibernate + Log4j2 ClassLoadingException beim Erstellen von EntityManagerFactory Bean
- 13. Check EntityManagerFactory
- 14. Hibernate/JPA funktioniert nicht
- 15. Gründe, warum Hibernate sessionFactory thread sicher ist
- 16. Mehrere SessionFactory im Frühjahr mit Hibernate
- 17. Inject Hibernate Sessionfactory in einem Grails-Service
- 18. Wie funktioniert Hibernate Sessionfactory Sitzung zu verwalten?
- 19. JPA-Hibernate mit Hibernate Interceptor
- 20. Zugriff auf SessionFactory von der Spring Boot-Anwendung aus
- 21. JPA und Hibernate
- 22. Hibernate JPA + Sybase-Bilddatentyp
- 23. Hibernate JPA Eindeutigkeit
- 24. Ausnahmebehandlung mit JPA + Hibernate
- 25. Verwenden von JPA mit Hibernate-Implementierung: entityManager.remove - funktioniert nicht
- 26. Frühling JPA holen ManyToMany
- 27. JPA/Hibernate Masseneinfügungen langsam
- 28. Spring + Hibernate + JPA
- 29. JPA 2.0 Provider Hibernate
- 30. Frühling Boot - mit JPA-Repositorys mit Hibernate
nicht funktionierte, Classcast – ibrabeicker
gut für mich gearbeitet: HibernateEntityManagerFactory emFactory = (HibernateEntityManagerFactory) em.getEntityManagerFactory(); – Tvaroh