السبات مع mongodb
-
23-09-2019 - |
سؤال
أنا أبحث عن موارد توضح كيفية دمج MongoDB مع السبات (ويفضل أن يكون من داخل الربيع) حتى أتمكن من التبديل بين RDBMS وبديل NOSQL: هل لدى أي شخص خبرة في القيام بذلك؟
المحلول
لا يمكنك القيام بذلك بسهولة. الهدف من السبات هو تعيين كائنات Java إلى قاعدة بيانات علائقية. على الرغم من أن الإسبات يتجذ الكثير من التفاصيل ، إلا أنك لا تزال بحاجة إلى فهم كيفية عمل قواعد البيانات العلائقية مع أشياء مثل المفاتيح الأجنبية والابتدائية ، والآثار المترتبة على الأداء للاستعلامات التي تديرها. يتطلب MongoDB طريقة مختلفة تمامًا لتصميم قاعدة البيانات الخاصة بك مع التركيز على الكائنات بدلاً من الأعمدة والجداول. على الرغم من أنك قد تكون قادرًا على إنشاء لهجة السبات لـ MongoDB إنشاء تصميم من شأنه أن يعمل على كل من قاعدة البيانات العلائقية وقاعدة بيانات NOSQL ستمنحك تصميمًا يعمل بشكل سيئ على كليهما.
نصائح أخرى
ماذا عن السباتي OGM؟ يوفر JPA ل لا SQL قواعد بيانات.
سيكون الترحيل أسهل إذا كنت تستخدم Mongotemplate Spring (على غرار HibernateTemplate).
من بين ميزاتها دعم التعليقات التوضيحية JPA (على الرغم من أنني لست متأكدًا إلى أي مدى).
شاهد المزيد: http://www.springsource.org/spring-data/mongodb
ستحتاج إلى ما يلي:
- أضف جرة spring-data-mongodb إلى مشروعك (متوفر في Maven Central).
- أضف جرة Mongo-Java-Driver إلى مشروعك (متوفر في Maven Central).
- استخدم فئة mongotemplate المقدمة بطريقة مماثلة لـ HibernateTemplate. على سبيل المثال:
mongoTemplate.findById(id, MyClass.class);
mongoTemplate.insert(myObject);
إليك مثال ملموس مع الكود: الاستخدام والربيع والربيع مع mongodb
هناك عمل جيد تم القيام به في وقت سابق على النحو التالي:
- http://pragmaticintegrator.wordpress.com/2011/07/14/use-spring-and-hibernate-with-mongodb/
- http://pragmaticintegrator.wordpress.com/2011/07/27/unit-test-your-springhibernate-and-mongodb-setup/#comments
الرجوع إلى هذه الروابط. سيكون مفيدًا لك.
إذا كنت تستخدم Java ، فيمكنك الاستخدام السباتي OGM يوفر دعم جافا الثبات ل NOSQL قواعد بيانات.
لمزيد من التفاصيل تفضل بزيارة http://hibernate.org/ogm/
قد تساعد هذه المدونة: http://drorbr.blogspot.com/2010/02/migrating-springhibernate-application.html هنا يصف Dror Bereznitsky جيدًا كيفية دمج حل قائم على الإسبات/السبات مع MongoDB.
حسنًا فقط لأعطيك مثالاً ، أقوم بعمل بعض الشيء. في Coldfusion ، يتم دمج السبات ومن أجل حفظ كائن السبات الخاص بك ، أنت HVAE للقيام بالكيان (OBJ). ومع ذلك ، فإن ما قمنا به هو إنشاء كائن ORM ، ثم استخدم مكون MongoDB Coldfusion وقم بحفظ الكائن فقط عن طريق الذهاب mongo.save (OBJ ، collectionName).
أعتقد أن السبات يوفر الوظائف المطلوبة. ألقِ نظرة على هذا ، الموجود على موقع الويب الرسمي الخاص بهم: خلط العديد من بيانات NOSQL في تطبيق واحد ، على سبيل المثال ، استخدم Neo4J لرسم الصداقة الخاص بك و MongoDB لمشاركات المدونة الخاصة بك. أو مزج NOSQL وقواعد البيانات العلائقية.