About this project
Hibernate ORM is an object/relational mapping (ORM) solution for Java and relational databases. It is described as the de facto standard implementation of the Java Persistence API, now also known as Jakarta Persistence, along with Jakarta Query and Jakarta Data.
The library exposes relational data in a natural, type-safe form. According to the README, it aims to make it easy to write complex queries and work with their results, synchronize in-memory changes with the database, respect ACID transaction properties, handle temporal data and audit logging, support multi-tenancy and row-level security, and allow performance optimizations after basic persistence logic is written.
Getting started documentation is hosted at hibernate.org/orm/documentation, with a configuration page explaining how to include Hibernate ORM in a Java project and connect it to a database.
Building from source requires at least JDK 25 and produces Java 17 bytecode. The project uses Gradle as its build tool and includes a Gradle Wrapper. Common tasks include build, compile, jar, test, publishToMavenLocal (pTML) and clean. Tasks can be run across all modules from the root directory or scoped to a specific module, for example hibernate-core:test.
Testing against an embedded H2 database is straightforward via ./gradlew test. For other databases, the build defines database testing profiles in local.databases.gradle, activated with the db property, for example -Pdb=postgresql. A db.sh script starts preconfigured database containers using podman or docker, and supports keeping multiple databases running with --keep-orphans or -k. The README lists commands for many databases, including H2, HSQLDB, Apache Derby, MySQL, MariaDB, PostgreSQL, PostGIS, EnterpriseDB, Oracle, DB2, SQL Server, Sybase ASE, SAP HANA, CockroachDB, TiDB, Informix, Spanner PostgreSQL and CUBRID.
Contributors are directed to the Contributing Guide and to setup guides for IntelliJ IDEA and Eclipse. Continuous integration information is available in MAINTAINERS.md. The project also references Maven Central, GitHub Actions status, Develocity, Reproducible Builds and Oracle Test Pilot badges.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.