All Projects → hibernate → Hibernate Reactive

hibernate / Hibernate Reactive

Licence: lgpl-2.1
A reactive API for Hibernate ORM, supporting non-blocking database drivers and a reactive style of interaction with the database.

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Hibernate Reactive

Jooq
jOOQ is the best way to write SQL in Java
Stars: ✭ 4,695 (+2711.38%)
Mutual labels:  orm, hibernate, jpa, mysql, postgresql, db2
Hunt Entity
An object-relational mapping (ORM) framework for D language (Similar to JPA / Doctrine), support PostgreSQL and MySQL.
Stars: ✭ 51 (-69.46%)
Mutual labels:  orm, hibernate, jpa, mysql, postgresql
Linq2db
Linq to database provider.
Stars: ✭ 2,211 (+1223.95%)
Mutual labels:  orm, mysql, postgresql, db2
Spring Kotlin Exposed
playground for spring-boot 2.*, kotlin , jetbrains-exposed, postgres, jsonb, flyway, docker
Stars: ✭ 106 (-36.53%)
Mutual labels:  orm, hibernate, jpa, postgresql
Hibernate Springboot
Collection of best practices for Java persistence performance in Spring Boot applications
Stars: ✭ 589 (+252.69%)
Mutual labels:  hibernate, jpa, mysql, postgresql
Ebean
Ebean ORM
Stars: ✭ 1,172 (+601.8%)
Mutual labels:  orm, jpa, mysql
Chloe
A lightweight and high-performance Object/Relational Mapping(ORM) library for .NET --C#
Stars: ✭ 1,248 (+647.31%)
Mutual labels:  orm, mysql, postgresql
Hibernate Performance
Samples for "Hibernate performance tuning" talk
Stars: ✭ 87 (-47.9%)
Mutual labels:  orm, hibernate, jpa
Leoric
👑 JavaScript ORM for MySQL, PostgreSQL, and SQLite.
Stars: ✭ 94 (-43.71%)
Mutual labels:  orm, mysql, postgresql
Pop
A Tasty Treat For All Your Database Needs
Stars: ✭ 1,045 (+525.75%)
Mutual labels:  orm, mysql, postgresql
Jplusone
Tool for automatic detection and asserting "N+1 SELECT problem" occurences in JPA based Spring Boot Java applications and finding origin of JPA issued SQL statements in general
Stars: ✭ 91 (-45.51%)
Mutual labels:  orm, hibernate, jpa
Tortoise Orm
Familiar asyncio ORM for python, built with relations in mind
Stars: ✭ 2,558 (+1431.74%)
Mutual labels:  orm, mysql, postgresql
Query Validator
Compile time validation for HQL and JPQL queries in Java code
Stars: ✭ 70 (-58.08%)
Mutual labels:  orm, hibernate, jpa
Kotlin Spring Boot Jpa Rest Api Demo
Build a Restful API with Kotlin, Spring Boot, Mysql, Jpa and Hibernate
Stars: ✭ 67 (-59.88%)
Mutual labels:  hibernate, jpa, mysql
Xeus Sql
xeus-sql is a Jupyter kernel for general SQL implementations.
Stars: ✭ 85 (-49.1%)
Mutual labels:  mysql, postgresql, db2
Prisma
Next-generation ORM for Node.js & TypeScript | PostgreSQL, MySQL, MariaDB, SQL Server, SQLite & MongoDB (Preview)
Stars: ✭ 18,168 (+10779.04%)
Mutual labels:  orm, mysql, postgresql
Spring Boot 2.x Examples
Spring Boot 2.x code examples
Stars: ✭ 104 (-37.72%)
Mutual labels:  jpa, mysql, postgresql
Spring Boot 2 Oauth2 Authorization Jwt
Spring Boot 2 OAuth2 JWT Authorization server implementation with Database for Users and Clients (JPA, Hibernate, MySQL)
Stars: ✭ 115 (-31.14%)
Mutual labels:  hibernate, jpa, mysql
Sworm
a write-only ORM for Node.js
Stars: ✭ 128 (-23.35%)
Mutual labels:  orm, mysql, postgresql
Soci
Official repository of the SOCI - The C++ Database Access Library
Stars: ✭ 960 (+474.85%)
Mutual labels:  mysql, postgresql, db2

Hibernate logo

CI Status License Download

Hibernate Reactive

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

Hibernate Reactive may be used in any plain Java program, but is especially targeted toward usage in reactive environments like Quarkus and Vert.x.

Currently PostgreSQL, MySQL, MariaDB, Db2, and CockroachDB are supported.

Learn more at http://hibernate.org/reactive.

Compatibility

Hibernate Reactive has been tested with:

Support for SQL Server is coming soon.

Documentation

The Introduction to Hibernate Reactive covers everything you need to know to get started, including:

We recommend you start there!

Examples

The directory examples contains several small projects showing different features of Hibernate Reactive:

Quarkus quickstarts

A list of quickstarts for Quarkus is available on GitHub:

Or you can generate a new Quarks project that uses the Hibernate Reactive extension and start coding right away.

Gradle build

The project is built with Gradle, but you do not need to have Gradle installed on your machine.

Building

To compile this project, navigate to the hibernate-reactive directory, and type:

./gradlew compileJava

To publish Hibernate Reactive to your local Maven repository, run:

./gradlew publishToMavenLocal

Building documentation

To build the API and Reference documentation type:

./gradlew assembleDocumentation

You'll find the generated documentation in the subdirectory release/build/documentation.

open release/build/documentation/reference/html_single/index.html
open release/build/documentation/javadocs/index.html

Running tests

To run the tests, you'll need to decide which RDBMS you want to test with, and then get an instance of the test database running on your machine.

By default, the tests will be run against PostgreSQL. To test against MySQL, MariaDB, or Db2, you must explicitly specify -Pdb=mysql, -Pdb=maria, or -Pdb=db2, for example:

./gradlew test -Pdb=db2

It's also possible to run all tests or only selected tests on all available databases:

./gradlew testAll -PincludeTests=DefaultPortTest

the property includeTests represents the name of the test to run and can contain the wildcard '*'. The property is optional but running all tests on all databases might take a lot of time.

There are three ways to start the test database.

If you have Docker installed

If you have Docker installed, running the tests is really easy. You don't need to create the test databases manually. Just type:

./gradlew test -Pdocker

Or:

./gradlew test -Pdocker -Pdb=mysql

Or:

./gradlew test -Pdocker -Pdb=maria

Or:

./gradlew test -Pdocker -Pdb=db2

The tests will run faster if you reuse the same containers across multiple test runs. To do this, edit the testcontainers configuration file .testcontainers.properties in your home directory, adding the line testcontainers.reuse.enable=true. (Just create the file if it doesn't already exist.)

If you already have PostgreSQL installed

If you already have PostgreSQL installed on your machine, you'll just need to create the test database. From the command line, type the following commands:

psql
create database hreact;
create user hreact with password 'hreact';
grant all privileges on database hreact to hreact;

Then run ./gradlew test from the hibernate-reactive directory.

If you already have MySQL installed

If you have MySQL installed, you can create the test database using the following commands:

mysql -uroot
create database hreact;
create user hreact identified by 'hreact';
grant all on hreact.* to hreact;

Then run ./gradlew test -Pdb=mysql from the hibernate-reactive directory.

If you have Podman

If you have Podman installed, you can start the test database by following the instructions in podman.md.

Limitations

We're working hard to support the full feature set of Hibernate ORM. At present several minor limitations remain.

  • Automatic update or validation of an existing database schema require use of JDBC.
  • The annotation @org.hibernate.annotations.Source for database-generated @Version properties is not yet supported.
  • The annotation @org.hibernate.annotations.CollectionId is not yet supported.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].