स्प्रिंग और हाइबरनेट में ब्लॉब फ़ील्ड्स को लोड करने में लापरवाही
डेटाबेस तालिकाओं में बड़े बाइनरी डेटा (बीएलओबी) से निपटने के दौरान, उन्हें अनुकूलित करना महत्वपूर्ण है प्रदर्शन समस्याओं और स्मृति खपत से बचने के लिए पुनर्प्राप्ति। एक दृष्टिकोण आलसी लोडिंग का उपयोग करना है, जो डेटा को केवल तभी पुनर्प्राप्त करने की अनुमति देता है जब इसकी आवश्यकता होती है। हालाँकि, यह तकनीक कभी-कभी हाइबरनेट और स्प्रिंग के साथ चुनौतियाँ पैदा कर सकती है।
आपकी स्थिति में, आपने अपने डेटाबेस, स्प्रिंग बीन्स और इकाई वर्ग को निम्नानुसार कॉन्फ़िगर किया है:
डेटाबेस कॉन्फ़िगरेशन (प्रासंगिक भाग):
इकाई वर्ग (प्रासंगिक एनोटेशन):
@Lob
@Basic(fetch = FetchType.LAZY)
@Column(name = "BlobField", columnDefinition = "LONGBLOB")
@Type(type = "org.springframework.orm.hibernate3.support.BlobByteArrayType")
private byte[] blobField;
ब्लॉबफील्ड को आलसी के रूप में चिह्नित करने के बावजूद, बड़ी मात्रा में डेटा पुनर्प्राप्त करते समय आपको आउटऑफमेमरी एरर का सामना करना पड़ रहा है। इससे पता चलता है कि आलसी लोडिंग तंत्र अपेक्षा के अनुरूप व्यवहार नहीं कर रहा है।
दस्तावेज़ीकरण और उपयोगकर्ता अनुभवों के आधार पर, यहां कुछ कारक हैं जो बीएलओबी की आलसी लोडिंग को प्रभावित कर सकते हैं:
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3