Hibernate Reactive

The reactive API for Hibernate ORM.

Add a reactive API to Hibernate ORM, supporting non-blocking database drivers and a reactive style of interaction with the database.

Reactive Object/Relational Mapping

Hibernate Reactive is a reactive API for Hibernate ORM, supporting non-blocking database drivers and a reactive style of interaction with the database.

Hibernate Reactive is intended for use in a reactive programming environment like Vert.x or Quarkus, where interaction with the database should occur in a non-blocking fashion. Persistence operations are orchestrated via the construction of a reactive stream rather than via direct invocation of synchronous functions in procedural Java code.

JDBC, JPA and Hibernate ORM use blocking IO for interaction with the database, and are therefore not appropriate for use in a reactive environment. Hibernate Reactive is a feature-rich ORM implementation designed to take advantage of non-blocking database clients.

Hibernate Reactive works with the Vert.x reactive database clients for:

Interoperable with Hibernate ORM

If you already know Hibernate ORM, most of what you know applies just as well to Hibernate Reactive. And if you have existing entities and O/R mappings, they’ll mostly just work without any changes.

It’s completely possible to use Hibernate Reactive and Hibernate ORM side-by-side in the same program, sharing the same entities.

Mutiny streams or standard Java CompletionStage

Hibernate Reactive offers two separate APIs, one based on CompletionStage from java.util.concurrent, and one on Uni from Mutiny.

If you already have experience programming reactive streams, it’s easy to get started. If you don’t, well, we’d better warn that reactive does take some getting used to.

JDBC-free

Hibernate Reactive doesn’t use JDBC, and the Vert.x clients don’t depend on any JDBC driver.

Fully integrated with Quarkus

Hibernate Reactive is a critical link in the reactive programming model of Quarkus. The Quarkus site has information about Using Hibernate Reactive.

Latest news

Hibernate Reactive 3.0.0.Beta2 released

2025-02-20

Hibernate Reactive 3.0.0.Beta2 is now available! This release is compatible with Hibernate ORM 7.0.0.Beta4, and upgrades the Vert.x SQL client to 4.5.13. It also contains a couple of...


Hibernate Reactive 2.4.5.Final released

2025-02-11

Hibernate Reactive 2.4.5.Final is now available! This release is compatible with Hibernate ORM 6.6.7.Final, and upgrades the Vert.x SQL client to 4.5.12.Final. It also contains a couple of...


Hibernate Reactive 2.4.4.Final released

2025-01-22

Hibernate Reactive 2.4.4.Final is now available! This release is compatible with Hibernate ORM 6.6.5.Final. It also contains a couple of bug fixes: #2026 UnexpectedAccessToTheDatabase error when merging a...


Hibernate Reactive 2.4.3.Final released

2024-12-20

Hibernate Reactive 2.4.3.Final is now available! This release is compatible with Hibernate ORM 6.6.4.Final. The full list of changes is available on GitHub. How can I get it? All...


Hibernate Reactive 3.0.0.Beta1 released

2024-12-17

Hibernate Reactive 3.0.0.Beta1 is now available! This release is compatible with Hibernate ORM 7.0.0.Beta3. The full list of changes is available on GitHub. How can I get it? All...


On the safe use of GitHub Actions' <code>pull_request_target</code>

2024-11-12

A few weeks ago, the GitHub Security Lab reported to the Hibernate team a vulnerability in GitHub Actions workflows used in some Hibernate projects, which...


Other news
Back to top