Question

Je cherche des ressources montrant comment intégrer MongoDB avec Hibernate (de préférence à l'intérieur du printemps) afin que je puisse passer d'un SGBDR et une alternative NoSQL: Quelqu'un at-il une expérience faisant

Était-ce utile?

La solution

Vous ne pouvez pas faire facilement cela. Le point de mise en veille prolongée est à la carte des objets Java à une base de données relationnelle. Bien que Hibernate résumés beaucoup de détails dont vous avez besoin encore loin de comprendre comment les bases de données relationnelles travailler avec des choses telles que les clés étrangères et primaires, et les conséquences sur les performances des requêtes que vous exécutez. MongoDB nécessite toute une façon différente de concevoir la base de données concentrer sur des objets au lieu de colonnes et de tables. alors que vous pourriez être en mesure de créer un dialecte Hibernate pour MongoDB créer un design qui fonctionnerait à la fois une base de données relationnelle et une base de données NoSQL vous donnera un design qui fonctionne mal sur les deux.

Autres conseils

Qu'en est- Hibernate OGM? Il fournit JPA pour Non-SQL bases de données.

La migration serait plus facile si vous utilisez Spring MongoTemplate (similaire à HibernateTemplate).
Parmi ses caractéristiques est un soutien pour les annotations JPA (bien que, je ne sais pas dans quelle mesure).
Voir plus: http://www.springsource.org/spring-data/mongodb

Vous aurez besoin des éléments suivants:

  1. Ajoutez ressort des données MongoDB JAR à votre projet (disponible en maven central).
  2. Ajouter mongo-java-pilote JAR à votre projet (disponible en maven central).
  3. Utilisez la catégorie prévue MongoTemplate dans un même de manière à HibernateTemplate. Par exemple.: mongoTemplate.findById(id, MyClass.class);
    mongoTemplate.insert(myObject);

Voici un exemple concret avec le code: utilisation ressort et -hibernate-avec-mongodb

Il est également kundera , qui utilise JPA-annotations pour lire / écrire votre objet de / à un MongoDB. Si vous ara familier avec mise en veille prolongée, il devrait être assez straightformard à utiliser.

J'ai récemment essayé Morphia, qui prend la même approche, mais avec ses propres annotations. Il fonctionne très bien

Si vous utilisez Java, vous pouvez utiliser Mise en veille prolongée OGM il prend en charge Java Persistence NoSQL bases de données.

Pour plus de détails, visitez http://hibernate.org/ogm/

Mai ce blog aide: http://drorbr.blogspot.com /2010/02/migrating-springhibernate-application.html Ici Dror Bereznitsky décrit bien comment intégrer une solution Sping / mise en veille prolongée avec MongoDB.

Par souci d'exhaustivité, PlayORM prend également en charge MongoDB maintenant. PlayORM est un objet NoSQL solution de cartographie afin que vous puissiez écrire de POJO et le laisser traiter avec tous les détails de marshalling / unmarshalling à MongoDB. Visitez sa documentation rel="nofollow"> ici

Eh bien juste pour vous donner un exemple, je fais somehting simmilar. Dans ColdFusion, Hibernate est intégré et pour enregistrer votre objet Mise en veille prolongée, vous hvae à faire EntitySave (Obj). Mais ce que nous avons fait construire est l'objet Orm, puis utiliser un composant Coldfusion MongoDB et juste enregistrer l'objet en allant mongo.Save (obj, collectionName).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top