OSS Tanbou

Hibernate ORM — connect Java domain objects to relational data through Jakarta Persistence/JPA

About these scores

OSS scale score is an unbounded metric that log-compresses and weights Stars, Watchers, Forks, and Contributors. Discovery score is the current OSS scale score minus the score at discovery. Update pace is commits in the last 30 days, growth momentum is the OSS scale score difference within the recent observation window, and OSS health is a 0–100 rating based on available recency, Community Health, and release data.

Stars
6,470
Primary language
Java
License
Apache-2.0
Repository last updated
Sep 20, 2026

Overview

Hibernate ORM is a persistence framework that maps Java entities and relationships to relational tables. As a major Jakarta Persistence implementation, it provides HQL/query APIs, transactions, dirty checking, lazy/eager fetching, multi-tenancy, and audit logging through Envers.

Features and best fit

Based on official documentation; not hands-on tested · Content checked:

Synchronize object state with tables through mappings and dirty checking

Annotation or XML mappings define entity/table relationships, while changes made inside a transaction can be detected and translated into SQL automatically.

Sources: [2][4]

Use JPA/HQL while adapting to database dialects

Jakarta Persistence APIs and Hibernate Query Language express complex relational queries while dialects handle many database-specific differences.

Sources: [2][4]

For Java applications that need a shared domain-to-RDBMS persistence layer

Hibernate fits Spring and Jakarta EE systems that want entity lifecycle, transactions, querying, and relational mapping centralized in one persistence framework.

Sources: [2]

Actively manage N+1 queries, lazy loading, session scope, and generated SQL

ORM abstractions can hide query volume and joins. Use fetch plans, batching, transaction boundaries, SQL logging, and profiling to keep database costs visible.

Sources: [4]

Official sources

  1. [1]hibernate/hibernate-orm repository(2026-09-20)
  2. [2]Hibernate ORM README(2026-09-20)
  3. [3]Hibernate ORM Apache-2.0 license(2026-09-20)
  4. [4]Hibernate ORM documentation(2026-09-20)
Supplemental curator note

Hibernate is best understood as a persistence framework managing entity state and transaction boundaries rather than merely hiding SQL. Lazy loading and dirty checking are powerful, but careless session scope and fetching can create N+1 queries or unexpected SQL, so generated statements and fetch strategies should remain observable.

Try it in 3 steps

  1. 1

    Clone Hibernate ORM

    Fetch the source tree to inspect the framework structure and test setup.

    git clone https://github.com/hibernate/hibernate-orm.git && cd hibernate-orm
  2. 2

    Run core tests with H2

    Use embedded H2 to exercise Hibernate core without provisioning an external database.

    ./gradlew hibernate-core:test -Pdb=h2
  3. 3

    Move to the official application configuration guide

    For application use, configure the hibernate-core dependency and JDBC connection, then inspect mappings, transactions, and generated SQL.

    https://hibernate.org/orm/documentation
Check the official README

Growth

Growth trends · Last 30 days

6,470 Stars

Trend data is still being collected.

Development activity

Last 90 days · weekly

Commits (last 30 days)
247
Open PRs
137
Issues opened
0
Issues closed
0
PRs opened
609
PRs merged
513

Issues

0 / 0

Jun 23Sep 20
Issues openedIssues closed

Pull requests

609 / 513

Jun 23Sep 20
PRs openedPRs merged

Maintenance

Median first response
Not specified
Issue response rate
No eligible issues

Based on up to the 100 newest issues opened by external users in the last 90 days. A first comment from an OWNER, MEMBER, or COLLABORATOR counts as a response; issues whose full comment history cannot be checked are excluded. The median and response rate update weekly.

Built with

Categories and tags

GitHub data

GitHub dataView detailed GitHub data

GitHub Topics

  • hibernate
  • java
  • orm
  • jpa
  • jdbc
  • database
  • envers
  • jakarta-persistence
  • jakartaee
  • object-relational-mapper
  • object-relational-mapping
  • persistence
Stars
6,470
Forks
3,816
Watchers
291
Open issues
0
Contributors
362
Primary language
Java
License
Apache-2.0
Repository last updated
Sep 20, 2026
Write a related article

Share a guide or use case for this OSS in Markdown. Articles are published after administrator approval.

Report incorrect information

Tell us if any listing information is incorrect or outdated.