के साथ भाग में ब्लॉब डेटा पढ़ें/लिखें Hibernate
का उपयोग कर blob
से पढ़ने और लिखने का कोई तरीका है। अभी मुझे OutOfmemoryException
मिल रहा है क्योंकि पूरे ब्लॉब डेटा को स्मृति में byte[]
में लोड किया गया है।हाइबरनेट
अधिक विशिष्ट होने के लिए, मान लीजिए कि मैं File
नामक डेटाबेस तालिका में एक बड़ी फ़ाइल को सहेजना चाहता हूं।
public class File {
private byte[] data;
}
मैं फ़ाइल को FileInputStream में खोलता हूं और फिर क्या? मैं हाइबरनेट को कैसे बताऊं कि मुझे सामग्री स्ट्रीम करने की आवश्यकता है और पूरे byte[]
सरणी को एक बार में नहीं देगी? क्या मुझे byte[]
के बजाय Blob
का उपयोग करना चाहिए? वैसे भी मैं सामग्री को कैसे स्ट्रीम कर सकता हूं?
पढ़ने के संबंध में, क्या मैं एक हाइबरनेट बता सकता हूं कि (आलसी लोडिंग के अलावा) मुझे ब्लॉब को हिस्सों में लोड करने की आवश्यकता है, इसलिए जब मैं अपना File
पुनर्प्राप्त करता हूं तो मुझे OutOfMemoryException
नहीं देना चाहिए।
मैं उपयोग कर रहा हूँ:
- ओरेकल 11.2.0.3.0
- हाइबरनेट 4.2.3 अंतिम
- ओरेकल ड्राइवर 11,2
मैं hbm.xml में @Lob को परिभाषित कैसे कर सकता हूं (हम hbm.xml फ़ाइलों में हमारे डोमेन ऑब्जेक्ट को परिभाषित करते हैं)? – Atticus
मेरा मानना है कि @ लॉब एनोटेशन वैकल्पिक है जब तक आप कहते हैं कि यह टाइप = "ब्लॉब" –
कौन सा स्ट्रीम बंद करने जा रहा है? –