मुझे स्टेटलेस सत्र की हाइबरनेट की एक विशिष्ट विशेषता की आवश्यकता है और इसके लिए मुझे हाइबरनेट के सत्र कारखाने की आवश्यकता है। समस्या यह है कि मेरे पास केवल इकाई प्रबंधक है। इस परिदृश्य में मैं स्टेटलेस सत्र कैसे प्राप्त कर सकता हूं?जेपीए की इकाई से हाइबरनेट सत्र प्राप्त करें मैनेजर फैक्टरी
उत्तर
मैं इसे इंजेक्शन लगाने के द्वारा इसे हल, इस http://docs.spring.io/spring/docs/3.0.x/spring-framework-reference/html/orm.html#orm-session-factory-setup
EntityManagerFactory
से HibernateEntityManagerFactory
पर कास्ट करने का प्रयास करें।
EntityManagerFactory
के बाद से समर्थन नहीं करता unwrap()
(EntityManager
के विपरीत), यह एक ही तरीका है अपने लक्ष्य को प्राप्त करने लगती है।
हाइबरनेट> = 4.3 की तरह सेम को परिभाषित करने जेपीए 2.1 का समर्थन करता है। तो आप वहाँ emm.unwrap (सत्र Factory.class) की तरह EntityManagerFactory.unwrap का उपयोग कर सकते हैं।
एक और समाधान EntityManager को सत्र में खोलना है और फिर सत्र से सत्र प्रबंधक प्राप्त करना है। यह जेपीए 2.0 में भी काम करता है –
के माध्यम से EntityManagerFactory
विकल्प 1 आप Hibernate >= 4.3
का उपयोग करें और JPA 2.1
यदि आप <T> T EntityManagarFactory#unwrap(Class<T> cls)
के माध्यम से एक EntityManagerFactory
से SessionFactory
accces कर सकते हैं।
SessionFactory sessionFactory = entityManagerFactory.unwrap(SessionFactory.class);
विकल्प 2 के माध्यम से EntityManager
आप Hibernate >= 4.3
का उपयोग करते हैं और JPA >= 2.0
तो आप <T> T EntityManagar#unwrap(Class<T> cls)
के माध्यम से एक EntityManager
से SessionFactory
accces कर सकते हैं।
Session session = entityManager.unwrap(Session.class);
SessionFactory sessionFactory = session.getSessionFactory();
- 1. जेपीए/हाइबरनेट हटाएं इकाई
- 2. जेपीए हाइबरनेट पर्सिस्टेंस अपवाद [पर्सिस्टेंस यूनिट: डिफॉल्ट] हाइबरनेट सत्र बनाने में असमर्थ फैक्टरी
- 3. जेपीए इकाई वस्तु की आईडी
- 4. हाइबरनेट जेपीए इकाई परीक्षण autodection
- 5. हाइबरनेट एंटिटी मैनेजर: संदर्भित इकाई को
- 6. हाइबरनेट/जेपीए
- 7. हाइबरनेट एंटिटी मैनेजर: क्वेरी कैश कैसे करें?
- 8. हाइबरनेट इंटरसेप्टर के अंदर हाइबरनेट सत्र कैसे प्राप्त करें?
- 9. हाइबरनेट के एम्प्टीइंटरसेप्टर में जेपीए के एंटिटी मैनेजर इंजेक्शन
- 10. स्प्रिंग + हाइबरनेट + जेपीए
- 11. किसी भी जेपीए इकाई की प्राथमिक कुंजी कैसे प्राप्त करें?
- 12. हाइबरनेट 5.2 तक अपग्रेड करें - सत्र फैक्टरी निर्माण और इकाई वर्ग गुण प्राप्त करने के लिए PersistentClass को प्रतिस्थापित करना
- 13. जेपीए-शैली मानदंड/मानदंड हाइबरनेट सत्र से प्रश्नकर्ता प्रश्न
- 14. जेपीए + हाइबरनेट
- 15. कैसे हाइबरनेट/जेपीए एनोटेशन
- 16. स्प्रिंग/जेपीए/हाइबरनेट
- 17. हाइबरनेट के सत्र का कारण क्यों फैक्टरी थ्रेड सुरक्षित है
- 18. जेपीए/हाइबरनेट
- 19. हाइबरनेट/जेपीए
- 20. हाइबरनेट/जेपीए
- 21. हाइबरनेट और जेपीए
- 22. जेपीए हाइबरनेट के @NaturalId
- 23. जेपीए (+ हाइबरनेट)
- 24. हाइबरनेट जेपीए
- 25. हाइबरनेट जेपीए
- 26. @PreUpdate और हाइबरनेट में @Prepersist/जेपीए (सत्र का उपयोग)
- 27. जेपीए - हाइबरनेट @ वर्जन गलत तरीके से
- 28. जेपीए इकाई - दृढ़ता इकाई निर्दिष्ट करें?
- 29. हाइबरनेट जेपीए और स्प्रिंग फ्रेमवर्क
- 30. जेपीए इकाई
काम नहीं किया, classCastException – ibrabeicker
मेरे लिए ठीक काम किया: HibernateEntityManagerFactory emFactory = (HibernateEntityManagerFactory) em.getEntityManagerFactory(); – Tvaroh