Accueil Nos publications Blog Hibernate OGM : JPA adapté pour le NoSQL

Hibernate OGM : JPA adapté pour le NoSQL

La vague du NoSQL est en train d’arriver doucement en France mais est déjà bien présente dans les pays anglo-saxons. Cependant, le marché reste relativement jeune et fragmenté ce qui ralenti d’autant l’adoption des différentes solutions présentes sur le marché.

Après avoir conquis le monde des bases de données relationnelles, les API de mapping objet-relationnel commencent à arriver pour le NoSQL en s’adaptant pour prendre en compte les nombreuses contraintes de ces technologies souvent disparates.

C’est ainsi que JBoss a récemment révélé lors du JBoss World un nouveau framework Hibernate : Hibernate OGM.

Le but de ce framework, encore en alpha, est de pouvoir utiliser JPA sur des bases NoSQL.

Comme son nom l’indique, ce framework est basé sur Hibernate Core et se contente de l’adapter afin de le faire fonctionner sur des stockages NoSQL.

Il reste encore de nombreuses limitations liées à la nature même des bases NoSQL notamment pour les systèmes de requêtages mais malgré le statut d’alpha du projet, l’essentiel est déjà présent et l’ensemble semble prometteur.

Pour le moment seul Infinispan est supporté, JBoss oblige, mais il est d’ores et déjà prévu d’intégrer d’autres bases NoSQL.

Au programme des éléments déjà implémentés et jugés stables :

  • Opérations CRUD pour les entités
  • Propriétés avec des types Java simples
  • Objets “embeddable”
  • Hiérarchie d’entité
  • Génération d’identifiants
  • Verrouillage optimiste
  • Liens @ManyToOne, @OneToOne, @OneToMany et @ManyToMany
  • Liens bi-directionnels
  • Collections de type Set, List et Map
  • La plus part des API natives Hibernate et JPA

Pour plus d’informations, je vous encourage à consulter ce post du blog JBoss et pour les plus intéressés, la documentation officielle.

A première vue l’approche semble très intéressante, vu que les développeurs n’auront pas de nouvelle API à apprendre pour passer au NoSQL. Cependant, je reste encore sceptique tant les différences sont nombreuses au niveau conceptuel entre le SGBDR et le NoSQL. Mais les équipes de JBoss nous ont déjà montré leur capacité à simplifier notre vie de développeurs grâce à des frameworks bien pensés et adaptés à nos besoins. J’ai donc bon espoir qu’ils arrivent à réaliser le tour de force de faire une API unifiée pour les principales bases NoSQL tout en profitant de leur puissance.