LazyInitializationException: मेथड कॉल से प्रॉक्सी तक नहीं पहुंच सकता
"LazyInitializationException का सामना करना: प्रॉक्सी प्रारंभ नहीं कर सका - कोई सत्र नहीं" त्रुटि आम तौर पर इंगित करती है हाइबरनेट एप्लिकेशन के भीतर आलसी लोडिंग के साथ एक समस्या। यह अपवाद तब होता है जब आप एक सक्रिय हाइबरनेट सत्र की सीमा के बाहर, किसी संबद्ध वस्तु या संग्रह जैसे किसी आलसी आरंभीकृत इकाई तक पहुंचने का प्रयास करते हैं। सबसे पहले हाइबरनेट सत्र स्थापित करना। हाइबरनेट संबंधित वस्तुओं या संग्रहों की लोडिंग को स्पष्ट रूप से अनुरोध किए जाने तक स्थगित करके प्रदर्शन में सुधार करने के लिए आलसी लोडिंग नामक एक तंत्र का उपयोग करता है।
इस अपवाद को दूर करने के लिए, आप कई दृष्टिकोण लागू कर सकते हैं:
उस विधि को एनोटेट करें जो एक्सेस करता है जैसा कि नीचे दिखाया गया है, @Transactional के साथ आलसी रूप से भरी हुई इकाई:
@Transactional सार्वजनिक मॉडल getModelByModelGroup(int modelGroupId) { // हाइबरनेट सत्र स्प्रिंग द्वारा स्वचालित रूप से प्रबंधित किया जाएगा }
@Transactional public Model getModelByModelGroup(int modelGroupId) { // Hibernate session will be managed by Spring automatically }
सत्र सत्र = SessionFactoryHelper.getSessionFactory().openSession(); session.beginTransaction(); कोशिश { // आलसी लोडेड इकाई तक पहुंचें और उसमें हेरफेर करें } पकड़ें (अपवाद पूर्व) { // अपवाद संभालें } अंत में { session.getTransaction().commit(); सत्र.बंद करें(); }
इकाइयों की उत्सुक लोडिंग:
विशिष्ट इकाई या उसके संघ के लिए आलसी लोडिंग अक्षम करें, हाइबरनेट को इकाई और उससे संबंधित लोड करने का निर्देश दें ऑब्जेक्ट तुरंत:
Session session = SessionFactoryHelper.getSessionFactory().openSession(); session.beginTransaction(); try { // Access and manipulate lazily loaded entity } catch (Exception ex) { // Handle exception } finally { session.getTransaction().commit(); session.close(); }
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3