web-dev-qa-db-fra.com

Hibernate avec MongoDB

Je suis à la recherche de ressources montrant comment intégrer MongoDB à Hibernate (de préférence dès le printemps) pour pouvoir basculer entre un SGBDR et une alternative NoSql: est-ce que quelqu'un en a déjà fait l'expérience?

37
adwk

Vous ne pouvez pas faire ça facilement. Le but d'Hibernate est de mapper des objets Java sur une base de données relationnelle. Bien qu'Hibernate fasse abstraction de nombreux détails, vous devez toujours comprendre comment les bases de données relationnelles fonctionnent avec des éléments tels que les clés étrangères et principales, ainsi que les implications en termes de performances des requêtes que vous exécutez. MongoDB nécessite une toute autre façon de concevoir votre base de données en se concentrant sur des objets plutôt que sur des colonnes et des tables. Bien que vous puissiez créer un dialecte Hibernate pour MongoDB, créer un design qui fonctionnerait à la fois sur une base de données relationnelle et sur une base de données NoSql vous donnera un design qui fonctionne mal sur les deux.

67
Jared

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

28
jacktrades
4
user2164052

Il existe également kundera , qui utilise des annotations JPA pour lire/écrire votre objet depuis/vers un mongodb. Si vous êtes familier avec l'hibernation, son utilisation devrait être simple.

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

2
thomash

Par souci d’exhaustivité, PlayORM prend également en charge MongoDB maintenant. PlayORM est une solution de mappage d’objets NoSQL qui vous permet d’écrire des POJO et de la laisser traiter de tous les détails de marshalling/unmarshalling pour MongoDB. Visitez sa documentation ici

1
Easility

Puisse ce blog aider: http://drorbr.blogspot.com/2010/02/migrating-springhibernate-application.html Ici Dror Bereznitsky décrit bien comment intégrer une solution basée sur sping/hibernate avec mongodb.

1
wbartussek

Si vous utilisez Java, vous pouvez utiliser Hibernate OGM. Il fournit la prise en charge de Java Persistence pour les bases de données NoSQL.

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

0
piyush shanu

Eh bien, juste pour vous donner un exemple, je fais quelque chose de similaire. Dans ColdFusion, Hibernate est intégré et afin de sauvegarder votre objet Hibernate, vous devez exécuter EntitySave (Obj). Cependant, ce que nous avons fait est de construire l'objet Orm, puis d'utiliser un composant ColdFusion mongoDB et de simplement sauvegarder l'objet en allant dans mongo.Save (obj, nomCollection). 

0
Faisal Abid