पर सहेजना संभव है। मैं SQL डेटाबेस की आवश्यकता के बिना हाइबरनेट का उपयोग कर फ़ाइल सिस्टम पर लगातार ऑब्जेक्ट्स को सहेजना चाहता हूं।क्या लगातार ऑब्जेक्ट को फ़ाइल सिस्टम
क्या यह संभव है?
पर सहेजना संभव है। मैं SQL डेटाबेस की आवश्यकता के बिना हाइबरनेट का उपयोग कर फ़ाइल सिस्टम पर लगातार ऑब्जेक्ट्स को सहेजना चाहता हूं।क्या लगातार ऑब्जेक्ट को फ़ाइल सिस्टम
क्या यह संभव है?
हाइबरनेट जेडीबीसी के शीर्ष पर काम करता है, इसलिए आपको केवल जेडीबीसी चालक और मिलान करने वाली हाइबरनेट बोली है।
हालांकि, जेडीबीसी मूल रूप से एसक्यूएल का एक अमूर्त है, इसलिए जो भी आप उपयोग करते हैं, वह एसक्यूएल डेटाबेस की तरह दिखने, चलने और रैक करने जा रहा है - आप एक का उपयोग भी कर सकते हैं और अपने आप को बहुत सारे सिरदर्द छोड़ सकते हैं। इसके अलावा, इस तरह के किसी भी समाधान को हल्के वजन वाले जावा डीबी जैसे Derby के आकार और जटिलता में तुलनीय होने जा रहा है।
बेशक अगर आप हाइबरनेट का उपयोग करने पर पूरी तरह से आग्रह नहीं करते हैं, तो कई अन्य विकल्प हैं।
एसक्लाइट के बारे में क्या, जो फाइल सिस्टम पर लगातार डेटा के करीब आता है, यद्यपि यह SQL डेटाबेस के रूप में किया जाता है। –
@bjarkef: हाँ, लेकिन यह सी में लिखा गया है, इसलिए यदि आप जावा एप्लिकेशन में इसका उपयोग करना चाहते हैं तो आप मंच स्वतंत्रता खो देंगे (या एकाधिक प्रतियां शामिल करनी होंगी)। –
@ माइकल बोर्गवर्ड: वास्तव में SQLite के लिए जेडीबीसी ड्राइवर हैं, और इसके लिए एक हाइबरनेट बोली भी है। हालांकि, यह अनुशंसित नहीं है: अन्य एम्बेडेड डेटाबेस की तुलना में कार्यान्वयन बेहद धीमा है। – parasietje
बेशक यह संभव है, आप बस फ़ाइल जावा की सुविधाओं कब उपयोग कर सकते हैं, तो निम्न चरणों की आवश्यकता है: -
java.util.Scanner
के अंदर लपेटें।ध्यान दें कि आपकी ऑब्जेक्ट को Serializable
इंटरफ़ेस लागू करना होगा। See following link,
मुझे लगता है कि प्रश्न के पीछे पूरा विचार हैबर्ननेट एपीआई के माध्यम से करना है। –
मैंने हाल ही में अपनी परियोजना में कोशिश की है लेकिन किसी भी तरह से मैं इसके लिए कोई समाधान नहीं ढूंढ पा रहा था इसलिए मुझे मूल जावा की मूल बातें का उपयोग करना पड़ा। हाइबरनेट एक फ्लैट फ़ाइल से पढ़ने का समर्थन करता है लेकिन किसी फ़ाइल में ऑब्जेक्ट्स लिखना या तो अभी तक समर्थित नहीं है या मैं एक नहीं ढूंढ पा रहा था ... – aProgrammer
प्रिय डाउनवॉटर ... टिप्पणी करने की हिम्मत !!! – aProgrammer
ऐसा लगता है कि यदि आप जेडीबीसी सादे टेक्स्ट ड्राइवर का उपयोग करते हैं तो यह तकनीकी रूप से संभव हो सकता है; हालांकि मैंने कोई ओपनसोर्स नहीं देखा है जो लेखन पहुंच प्रदान करता है; Sourceforge पर जो मैंने पाया वह केवल पढ़ने के लिए है।
एशपूल भी है, जो एक्सएमएल फाइलों का उपयोग करता है: http://wiki.robrohan.com/Ashpool.html – greyfairer
मैं exactaly अपनी जरूरत को पता नहीं है, लेकिन शायद यह नीचे में से एक है:
1 - अपनी जरूरत सिर्फ एसक्यूएल से दूर चला जाता है, तो आप एक NoSQL डेटाबेस का उपयोग कर सकते हैं।
हाइबरनेट इसे हाइबरनेट ओजीएम (http://www.hibernate.org/subprojects/ogm) के माध्यम से सुपरपोर्ट करता है। कैसंड्रा, मोंगोडीबी, कॉच डीबी, हैडोप जैसे कुछ डीबी हैं ... आपके पास कुछ सुझाव हैं Here ।
2 - अब, यदि आप डेटाबेस सर्वर का उपयोग नहीं करना चाहते हैं (एक सेवा प्रक्रिया हमेशा चल रही है), तो आप अपाचे डर्बी का उपयोग कर सकते हैं। यह किसी भी अन्य एसक्यूएल की तरह डीबी है, लेकिन किसी सर्वर की आवश्यकता नहीं है। यह डेटा रखने के लिए एकवचन फ़ाइल का उपयोग करता है। आप आसानी से अपने प्रोग्राम के साथ सभी डेटाबेस परिवहन कर सकते हैं।
एक नज़र डालें: http://db.apache.org/derby/
3 - क्या तुम सच में कुछ पाठ सादे फ़ाइल चाहते हैं, आप कर सकते हैं की तरह माइकल Borgwardt कहा। लेकिन मुझे नहीं पता कि इस मामले में हाइबरनेट एक अच्छा विचार होगा या नहीं।
आपके पास पहले से ही एक इकाई मॉडल है, मुझे लगता है कि आप इसे खोना नहीं चाहते हैं और न ही इसमें शामिल रिश्ते हैं। एक इकाई मॉडल को एक संबंधपरक डेटाबेस में अनुवादित करने का निर्देश दिया जाता है।
हाइबरनेट और कोई अन्य जेपीए प्रदाता (एक्लिप्ससेंक) इस इकाई मॉडल को SQL में अनुवादित करता है। वे SQL डेटाबेस से कनेक्शन प्रदान करने के लिए एक जेडीबीसी ड्राइवर का उपयोग करते हैं। यह आपको भी रखने की जरूरत है।
पूछने का सही सवाल यह है: क्या किसी को embedded Java SQL database
पता है, जिसे आप जावा के भीतर से शुरू कर सकते हैं?
मैं छोटे डेटा के लिए एक परियोजना पर HyperSQL का इस्तेमाल किया है में डेटा को और विशाल डाटाबेस के साथ एक परियोजना के लिए अपाचे डर्बी (2Gb और अधिक: बाइनरी फ़ाइलें
ठीक है, चूंकि सवाल अभी भी खोला गया है और ओपी ने कहा कि वह नए दृष्टिकोण/सुझावों के लिए खोला गया है, यहां मेरा (थोड़ा देर हो चुकी है लेकिन ठीक है)।
क्या आप Prevayler जानते हैं? यह एक जावा प्रचलन कार्यान्वयन है जो आपके सभी व्यावसायिक ऑब्जेक्ट्स को रैम और मैंटन स्नैपशॉट्स/चेंजलॉग में फाइल सिस्टम में रखता है, इस तरह यह बेहद तेज़ और भरोसेमंद है, क्योंकि यदि कोई दुर्घटना हो रही है, तो यह इसकी आखिरी स्थिति को पुनर्स्थापित कर देगी और प्रत्येक बदलाव को दोबारा लागू करेगी यह।
इसके अलावा, यह आपके ऐप में सेटअप और चलाने में वास्तव में आसान है।
वास्तव में दिलचस्प धन्यवाद लगता है: डी – Corvusoft
क्या आपका मतलब SQL डेटाबेस पर हाइबरनेट का उपयोग नहीं करना है? – everton
@EvertonAgner ओपी एक फाइल सिस्टम पर बने रहने के लिए हाइबरनेट एपीआई का उपयोग करना चाहता है, न कि SQL डेटाबेस के लिए। – mcfinnigan
हाइबरनेट मूल रूप से ऑब्जेक्ट-रिलेशनल मैपिंग टूल है। यदि आप संबंधपरक हिस्सा नहीं चाहते हैं, तो आप हाइबरनेट का उपयोग क्यों करना चाहते हैं? – skaffman