2010-01-28 16 views
36

के साथ हाइबरनेट मैं संसाधनों की तलाश में हूं कि मोंगो डीबी को हाइबरनेट (अधिमानतः वसंत के भीतर से) के साथ एकीकृत करने के लिए कैसे दिखाया जा सकता है ताकि मैं आरडीबीएमएस और नोएसक्ल वैकल्पिक के बीच स्विच कर सकूं: क्या किसी को ऐसा करने का अनुभव है?मोंगोडीबी

+2

कृपया हाइबरनेट OGM पर एक नजर है। यह अभी भी युवा है लेकिन उनके पास कुछ दिलचस्प चीजें आ रही हैं। –

उत्तर

63

आप आसानी से ऐसा नहीं कर सकते हैं। हाइबरनेट का बिंदु जावा ऑब्जेक्ट्स को एक रिलेशनल डेटाबेस में मैप करना है। यद्यपि हाइबरनेट बहुत सारे विवरणों को दूर करता है, फिर भी आपको यह समझने की आवश्यकता है कि कैसे संबंधित डेटाबेस विदेशी और प्राथमिक कुंजी जैसी चीजों के साथ काम करते हैं, और आपके द्वारा चलाए जाने वाले प्रश्नों के प्रदर्शन प्रभाव। मोंगो डीबी को कॉलम और टेबल की बजाय ऑब्जेक्ट्स पर ध्यान केंद्रित करने वाले आपके डेटाबेस को डिज़ाइन करने का एक अलग अलग तरीका है। जबकि आप मोंगो डीबी के लिए एक डिज़ाइन बनाने के लिए एक हाइबरनेट बोली बनाने में सक्षम हो सकते हैं जो एक रिलेशनल डेटाबेस और नोएसक्ल डेटाबेस दोनों पर काम करेगा, आपको एक ऐसा डिज़ाइन देगा जो दोनों पर खराब काम करेगा।

+6

कृपया हाइबरनेट ओजीएम पर एक नज़र डालें। यह अभी भी युवा है लेकिन उनके पास कुछ दिलचस्प चीजें आ रही हैं। –

0

ठीक है बस आपको एक उदाहरण देने के लिए, मैं कुछ हद तक काम कर रहा हूं। कोल्डफ्यूजन में, हाइबरनेट एकीकृत है और अपने हाइबरनेट ऑब्जेक्ट को सहेजने के लिए, आप EntitySave (Obj) करने के लिए हैं। हालांकि हमने जो किया है वह ओआरएम ऑब्जेक्ट का निर्माण कर रहा है, और उसके बाद एक मोंगो डीबी कोल्डफ्यूजन घटक का उपयोग करें और बस मोंगो जाकर ऑब्जेक्ट को सेव करें। ओवेज, संग्रहनाम)।

1

मई यह ब्लॉग मदद करता है: http://drorbr.blogspot.com/2010/02/migrating-springhibernate-application.html यहां ड्रोर बेरेज़निट्स्की ने वर्णन किया है कि मोंगोडब के साथ एक स्पिंग/हाइबरनेट आधारित समाधान को कैसे एकीकृत किया जाए।

21

यदि आप वसंत MongoTemplate (HibernateTemplate के समान) का उपयोग करते हैं तो माइग्रेशन आसान होगा।
इसकी विशेषताओं में जेपीए एनोटेशन के लिए समर्थन है (हालांकि, मुझे यकीन नहीं है कि किस हद तक)।
अधिक देखें: http://www.springsource.org/spring-data/mongodb

आप निम्न की आवश्यकता होगी:

  1. अपनी परियोजना (Maven केंद्रीय में उपलब्ध है) के लिए वसंत-डेटा-MongoDB JAR जोड़ें।
  2. अपनी परियोजना में मोंगो-जावा-ड्राइवर जेएआर जोड़ें ( मेवेन सेंट्रल में उपलब्ध)।
  3. प्रदान की गई मोंगो टेम्पलेट क्लास को उसी तरीके से HibernateTemplate में उपयोग करें। उदा .: mongoTemplate.findById(id, MyClass.class);
    mongoTemplate.insert(myObject);

यहाँ कोड के साथ एक ठोस उदाहरण है: use-spring-and-hibernate-with-mongodb

+0

उदाहरण, लिंक काम नहीं कर रहा है, क्या आप इसे सही कर सकते हैं? धन्यवाद! –

+0

@ विनीट लिंक –

2

वहाँ भी kundera, जो जेपीए-एनोटेशन का उपयोग करता है पढ़ने/एक MongoDB से/अपने वस्तु लिखने के लिए है। यदि आप हाइबरनेट से परिचित हैं, तो इसका उपयोग करने के लिए काफी सरल होना चाहिए।

मैंने हाल ही में Morphia की कोशिश की, जो एक ही दृष्टिकोण लेता है, लेकिन इसकी अपनी टिप्पणियों के साथ। यह ठीक काम करता है

27

Hibernate OGM के बारे में क्या? यह नो-एसक्यूएल डेटाबेस के लिए जेपीए प्रदान करता है।

+0

फिक्स्ड फिक्स्ड, मोंगोडीबी बॉक्स के बाहर हाइबरनेट ओजीएम द्वारा बोलीभाषाओं में से एक है। अधिक जानने के लिए [संदर्भ मार्गदर्शिका] (https://docs.jboss.org/hibernate/ogm/4.1/reference/en-US/html_single/#ogm-mongodb) देखें। – Gunnar

1

पूर्णता के लिए, PlayORM अब मोंगोडीबी का भी समर्थन करता है। PlayORM एक ऑब्जेक्ट नोएसक्यूएल मैपिंग समाधान है ताकि आप पीओजेओ लिख सकें और इसे मोंगोडीबी को मार्शलिंग/अनमर्शलिंग के सभी विवरणों से निपटने दें। यात्रा अपने यहाँ documentation

0

आप जावा का उपयोग कर रहे हैं तो आप हाइबरनेट OGM उपयोग कर सकते हैं यह NoSQL डेटाबेस के लिए जावा हठ सहायता प्रदान करता है।

अधिक जानकारी के लिए पर जाएँ http://hibernate.org/ogm/