Hibernate OGM, Jongo, Java MongoDb Driver, Morphia, Spring Data sont sur un bateau…

Hibernate OGM

Hibernate OGM offre l’avantage aux développeurs déjà familiers avec l’écosystème Hibernate l’adoption d’un nouveau framework.
On retrouvera les mêmes sémantiques que pour JPA, les concepts de JP-QL queries, de full text queries, etc.

En plus de MongoDB, Hibernate OGM supporte :

  • les systèmes de stockage à base de clé valeurs : InfiniSpan, EhCache
  • base de donnée basées sur les graphes : Neo4J
  • en cours : Redis, CouchDb, et Cassandra

L’avantage d’hibernate OGM, c’est qu’il est possible d’utiliser un unique framework pour pouvoir accéder à plusieurs types de bases de données.

Et comme pour hibernate ORM, il sera possible de ne pas choisir dès le début le système de stockage cible du système, la bascule d’un type de base à un autre sera simplifié par Hibernate OGM.

http://hibernate.org/ogm/

Jongo

Construire des requêtes pour Java comme sur un Mongo Shell.

Vous avez déjà un ensemble de script de requête que vous avez utilisé sur le shell de mongo, vous voulez continuez à utiliser vos objets modèles java annotés avec Jackson alors Jongo est fait pour vous.

La documentation est constituée d’une seule page, ce qui en fait un framework très facile à appréhender.

http://jongo.org

Java MongoDb Driver

C’est le driver officiel fournit par MongoDb sur laquelle se base tous les frameworks mentionnés dans cette article.

L’avantage à utiliser le driver MongoDb est que vous n’êtes pas contraint par une version spécifique qui serait liée à un framework.

L’inconvénient est l’obligation de réaliser des opérations au plus bas niveau.

Le driver comporte une version synchrone et une version asynchrone.

https://docs.mongodb.com/ecosystem/drivers/java/

Morphia

Dans la même veine que Hibernate OGM, Morphia est la solution proposée par MongoDb pour faire du mapping Objet vers base de donnée Mongo.

Les objets à persister sont annotés avec les mêmes annotations qui sont utilisées pour JPA ou JDO.

https://mongodb.github.io/morphia/

Kundera

Kundera est un concurrent à Hibernate OGM. JPA 2.1 compliant, il supporte en plus de MongoDb : Hbase, Apache Spark, Redis, Oracle Nosql, Kudu, ainsi que les bases de données relationnel.

Sans entrer dans les détails de ce framework, il n’est jamais prudent d’utiliser un outil capable de faire trop de choses à la fois.

https://github.com/impetus-opensource/Kundera/wiki/Kundera-with-MongoDB

Spring Data Mongodb

Dans la philosophie de Spring d’éliminer les codes boiler plate à travers un template, Spring data ne déroge pas à cette règle en proposant un MongoTemplate permettant de faire les différentes opérations CRUD sur une base de donnée MongoDB.

En plus du template, Spring data apporte des annotations permettant de faire du mapping Objet vers la base de données.

http://projects.spring.io/spring-data-mongodb/

Leave a Reply

Your email address will not be published. Required fields are marked *