Ich suche nach Ressourcen, wie MongoDB mit Hibernate zu integrieren (vorzugsweise aus dem Frühjahr), so dass ich zwischen einer RDBMS und einer NoSql-Alternative wechseln kann: Hat jemand Erfahrung dabei?Hibernate mit MongoDB
Antwort
Sie können dies nicht leicht tun. Der Punkt von Hibernate besteht darin, Java-Objekte einer relationalen Datenbank zuzuordnen. Obwohl Hibernate viele Details abstrahiert, müssen Sie verstehen, wie relationale Datenbanken mit Dingen wie Fremd- und Primärschlüsseln und den Auswirkungen auf die Leistung von ausgeführten Abfragen arbeiten. MongoDB erfordert eine völlig andere Art, Ihre Datenbank so zu gestalten, dass sie sich auf Objekte anstatt auf Spalten und Tabellen konzentriert. Während Sie in der Lage sein können, einen Hibernate-Dialekt für MongoDB zu erstellen, indem Sie einen Entwurf erstellen, der sowohl mit einer relationalen Datenbank als auch mit einer NoSql-Datenbank funktioniert, erhalten Sie ein Design, das auf beiden Seiten schlecht funktioniert.
Bitte beachten Sie Hibernate OGM. Es ist noch jung, aber sie haben ein paar interessante Dinge vor sich. –
Nun, nur um Ihnen ein Beispiel zu geben, mache ich etwas Ähnliches. In ColdFusion ist Hibernate integriert, und um Ihr Hibernate-Objekt zu speichern, müssen Sie EntitySave (Obj) ausführen. Wir haben jedoch das Orm-Objekt erstellt und verwenden dann eine mongoDB-Coldfusion-Komponente und speichern das Objekt einfach, indem wir mongo.Save (obj, collectionName) aufrufen.
Möge dieser Blog helfen: http://drorbr.blogspot.com/2010/02/migrating-springhibernate-application.html Hier beschreibt Dror Bereznitsky schön, wie man eine Sping/Hibernate basierte Lösung mit mongodb integriert.
Die Migration wäre einfacher, wenn Sie Spring MongoTemplate (ähnlich wie HibernateTemplate) verwenden.
Zu seinen Features gehört die Unterstützung von JPA-Annotationen (obwohl ich nicht sicher bin, in welchem Umfang).
Weitere: http://www.springsource.org/spring-data/mongodb
Sie folgendes benötigen:
- spring-data-mongodb JAR zu einem Projekt (erhältlich in Maven Zentral).
- Fügen Sie Ihrem Projekt mongo-java-driver JAR hinzu (verfügbar in maven central).
- Verwenden Sie die mitgelieferte MongoTemplate-Klasse in einer ähnlichen Weise zu HibernateTemplate. Z.B .:
mongoTemplate.findById(id, MyClass.class);
mongoTemplate.insert(myObject);
Hier ist ein konkretes Beispiel mit Code: use-spring-and-hibernate-with-mongodb
Beispiel, Link funktioniert nicht, können Sie das korrigieren? Vielen Dank! –
@Vinit Fixed the link –
Es gibt auch kundera, die JPA-Annotationen verwendet einen mongodb lesen/schreiben Ihr Objekt von/nach. Wenn Sie mit dem Winterschlaf vertraut sind, sollte es ziemlich einfach zu verwenden sein.
Ich probierte kürzlich Morphia, die den gleichen Ansatz, aber mit eigenen Anmerkungen nimmt. Es funktioniert gut
Was ist mit Hibernate OGM? Es bietet JPA für No-SQL Datenbanken.
Insbesondere MongoDB ist einer der Dialoge von Hibernate OGM out of the box. Weitere Informationen erhalten Sie in der [Referenzanleitung] (https://docs.jboss.org/hibernate/ogm/4.1/reference/en-US/html_single/#ogm-mongodb). – Gunnar
Es ist schön Arbeit früher als:
- 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
auf diese Links verweisen. es wird dir hilfreich sein.
Check out
http://www.vizuri.com/insights/blog/2013/02/java-mongo-object-data-mappers-hibernate-ogm
Nizza Blog-Serie, die Sie nutzen können.
Link ist nicht mehr vorhanden! –
Der Vollständigkeit halber unterstützt PlayORM jetzt auch MongoDB. PlayORM ist eine NoSQL-Mapping-Lösung für Objekte, sodass Sie POJOs schreiben und sich mit allen Details des Marshalling/Unmarshalling auf MongoDB befassen können. Besuchen Sie seine documentation hier
Wenn Sie Java verwenden, dann können Sie Hibernate OGM es verwenden, bietet Java Persistence Unterstützung für NoSQL Datenbanken.
Für weitere Informationen besuchen http://hibernate.org/ogm/
- 1. Mit mongodb und Hibernate mit grails3
- 2. Aktivieren Sie SSL für MongoDB mit Hibernate OGM
- 3. JPA-Hibernate mit Hibernate Interceptor
- 4. Hibernate-Annotationen mit Hibernate-Core 5
- 5. Hibernate-Vererbung mit Hibernate-Kriterien (TABLE_PER_CLASS)
- 6. MongoDB - Morphia Embedded
- 7. Suche mit Hibernate Confusion
- 8. MySQL Enum mit Hibernate
- 9. Mapping Array mit Hibernate
- 10. Arbeiten mit Hibernate ConstraintViolationException
- 11. Hibernate Aktualisierung mit Liste
- 12. Hibernate Update mit EntityManager
- 13. Zero Downtime mit Hibernate
- 14. Hibernate link join mit
- 15. Map ArrayList mit Hibernate
- 16. Hibernate: Kriterien mit Sammlungen
- 17. java mit Hibernate
- 18. Beziehung mit Hibernate
- 19. Ausnahmebehandlung mit JPA + Hibernate
- 20. Hibernate & EntityManager mit Joins
- 21. Hibernate mit Glassfish 4.1
- 22. Wert mit Hibernate ausschließen
- 23. Hibernate mit Annotaion
- 24. Legacy Mapping mit Hibernate
- 25. Textfeld mit Hibernate Annotation
- 26. Datenmigration mit Hibernate
- 27. Hibernate Kriterien mit EmbeddedId
- 28. Federdatenkonfiguration für Mongodb
- 29. Hibernate: Dynamische Hibernate-Spaltenerstellung
- 30. Dart mit MongoDB
bitte einen Blick auf Hibernate OGM haben. Es ist noch jung, aber sie haben ein paar interessante Dinge vor sich. –