Hibernate OGM

Your NoSQL datastores. One API.

The power and simplicity of JPA for NoSQL datastores. Including support for associations, sub-classes, queries and much more.

Hibernate OGM is not maintained anymore.

Many NoSQL stores, one API to access them

Hibernate OGM provides Java Persistence (JPA) support for NoSQL solutions. It reuses Hibernate ORM’s engine but persists entities into a NoSQL datastore instead of a relational database.

We know you have questions, we’ll answer them in the FAQ.

Wide range of backends

OGM talks to NoSQL backends via store-specific dialects. The main repository includes the following dialects:

  • Key/Value: Infinispan (embedded and remote)

  • Document: MongoDB

  • Graph: Neo4j (embedded and remote)

Dialects for other NoSQL datastores are maintained by the community:

Your favorite NoSQL store isn’t listed here? We’d love to get your help for adding it.

Rich query capabilities

Hibernate OGM supports several ways for searching entities and returning them as Hibernate managed objects:

  • JPQL queries (we convert them into a native backend query)

  • datastore specific native queries

  • full-text queries, using Hibernate Search as indexing engine

And more…​

  • When JPA isn’t enough, Hibernate OGM extends it with family-specific and product-specific options. That way, the power of the backend is at your fingertips. All that in a type-safe way.

  • Mixing several NoSQL datastores in one application, e.g. use Neo4j for your friendship graph and MongoDB for your blog posts. Or mix NoSQL and relational databases.

  • Support for implicit data migrations upon data load (later)

  • Denormalize data declaratively for faster retrieval (later)

Still have questions? Check our FAQ.
Want to see it in action? Move on to the getting started guide.

Back to top