سؤال

أنا أبحث عن موارد توضح كيفية دمج MongoDB مع السبات (ويفضل أن يكون من داخل الربيع) حتى أتمكن من التبديل بين RDBMS وبديل NOSQL: هل لدى أي شخص خبرة في القيام بذلك؟

هل كانت مفيدة؟

المحلول

لا يمكنك القيام بذلك بسهولة. الهدف من السبات هو تعيين كائنات Java إلى قاعدة بيانات علائقية. على الرغم من أن الإسبات يتجذ الكثير من التفاصيل ، إلا أنك لا تزال بحاجة إلى فهم كيفية عمل قواعد البيانات العلائقية مع أشياء مثل المفاتيح الأجنبية والابتدائية ، والآثار المترتبة على الأداء للاستعلامات التي تديرها. يتطلب MongoDB طريقة مختلفة تمامًا لتصميم قاعدة البيانات الخاصة بك مع التركيز على الكائنات بدلاً من الأعمدة والجداول. على الرغم من أنك قد تكون قادرًا على إنشاء لهجة السبات لـ MongoDB إنشاء تصميم من شأنه أن يعمل على كل من قاعدة البيانات العلائقية وقاعدة بيانات NOSQL ستمنحك تصميمًا يعمل بشكل سيئ على كليهما.

نصائح أخرى

ماذا عن السباتي OGM؟ يوفر JPA ل لا SQL قواعد بيانات.

سيكون الترحيل أسهل إذا كنت تستخدم Mongotemplate Spring (على غرار HibernateTemplate).
من بين ميزاتها دعم التعليقات التوضيحية JPA (على الرغم من أنني لست متأكدًا إلى أي مدى).
شاهد المزيد: http://www.springsource.org/spring-data/mongodb

ستحتاج إلى ما يلي:

  1. أضف جرة spring-data-mongodb إلى مشروعك (متوفر في Maven Central).
  2. أضف جرة Mongo-Java-Driver إلى مشروعك (متوفر في Maven Central).
  3. استخدم فئة mongotemplate المقدمة بطريقة مماثلة لـ HibernateTemplate. على سبيل المثال:mongoTemplate.findById(id, MyClass.class);
    mongoTemplate.insert(myObject);

إليك مثال ملموس مع الكود: الاستخدام والربيع والربيع مع mongodb

هناك عمل جيد تم القيام به في وقت سابق على النحو التالي:

الرجوع إلى هذه الروابط. سيكون مفيدًا لك.

يوجد ايضا kundera, ، والذي يستخدم jpa-annotations لقراءة/كتابة كائنك من/إلى mongodb. إذا كنت على دراية بـ Hibernate ، فيجب أن يكون استخدامها بشكل مستقيم تمامًا.

لقد حاولت مؤخرًا مورفيا, ، الذي يأخذ نفس النهج ، ولكن مع التعليقات التوضيحية الخاصة به. أنه يعمل بشكل جيد

إذا كنت تستخدم Java ، فيمكنك الاستخدام السباتي OGM يوفر دعم جافا الثبات ل NOSQL قواعد بيانات.

لمزيد من التفاصيل تفضل بزيارة http://hibernate.org/ogm/

قد تساعد هذه المدونة: http://drorbr.blogspot.com/2010/02/migrating-springhibernate-application.html هنا يصف Dror Bereznitsky جيدًا كيفية دمج حل قائم على الإسبات/السبات مع MongoDB.

من أجل الإنتهاء، Playorm يدعم أيضا MongoDB الآن. Playorm هو حل رسم الخرائط NOSQL حتى تتمكن من كتابة Pojo والسماح له بالتعامل مع جميع تفاصيل Marchalling/Unmarshalling إلى MongoDB. زيارة توثيق هنا

حسنًا فقط لأعطيك مثالاً ، أقوم بعمل بعض الشيء. في Coldfusion ، يتم دمج السبات ومن أجل حفظ كائن السبات الخاص بك ، أنت HVAE للقيام بالكيان (OBJ). ومع ذلك ، فإن ما قمنا به هو إنشاء كائن ORM ، ثم استخدم مكون MongoDB Coldfusion وقم بحفظ الكائن فقط عن طريق الذهاب mongo.save (OBJ ، collectionName).

أعتقد أن السبات يوفر الوظائف المطلوبة. ألقِ نظرة على هذا ، الموجود على موقع الويب الرسمي الخاص بهم: خلط العديد من بيانات NOSQL في تطبيق واحد ، على سبيل المثال ، استخدم Neo4J لرسم الصداقة الخاص بك و MongoDB لمشاركات المدونة الخاصة بك. أو مزج NOSQL وقواعد البيانات العلائقية.

المرجعي

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top