hibernate-orm
by
hibernate

Description: Idiomatic persistence for Java and relational databases

View on GitHub ↗

Summary Information

Updated 25 minutes ago
Added to GitGenius on February 8th, 2022
Created on October 4th, 2010
Open Issues & Pull Requests: 139 (+0)
Number of forks: 3,782
Total Stargazers: 6,455 (+0)
Total Subscribers: 294 (+0)

Issue Activity (beta)

Open issues: 0
New in 7 days: 0
Closed in 7 days: 0
Avg open age: N/A days
Stale 30+ days: 0
Stale 90+ days: 0

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

Hibernate ORM is a powerful object-relational mapping framework for Java that serves as the de facto standard implementation of the Java Persistence API, now known as Jakarta Persistence. The repository provides a comprehensive solution for mapping Java objects to relational database tables, allowing developers to work with relational data in a type-safe and natural manner without sacrificing performance or code reuse.

The framework exposes several core capabilities that distinguish it in the persistence space. It enables developers to write complex queries and work with their results efficiently, automatically synchronize changes made in memory with the database, respect ACID transaction properties, handle temporal data and audit logging through its Envers component, manage multi-tenancy and row-level security, and apply performance optimizations after basic persistence logic has been established. The repository also implements Jakarta Query and Jakarta Data specifications, broadening its scope beyond traditional ORM functionality.

From a technical standpoint, Hibernate ORM is written in Java and uses Gradle as its build tool. The build requires at least JDK 25 and produces Java 17 bytecode. The project maintains comprehensive documentation at hibernate.org and provides detailed guides for setting up development environments in both IntelliJ and Eclipse IDEs. Contributors are directed to a Contributing Guide for participation guidelines.

The testing infrastructure is particularly robust, supporting validation against an extensive array of databases. The repository includes profiles for testing against H2, HSQLDB, Apache Derby, MySQL, MariaDB, PostgreSQL, EnterpriseDB, Oracle, DB2, SQL Server, Sybase ASE, SAP HANA, CockroachDB, TiDB, Informix, Spanner PostgreSQL, and CUBRID. Testing can be performed against an embedded H2 database by default, or developers can start containerized databases using the provided db.sh script with podman or docker, enabling flexible local testing without requiring database installations.

The build system is organized into multiple modules, with hibernate-core being a primary component distributed through Maven Central. The project uses a Gradle Wrapper for consistent builds across environments and defines common tasks including build, compile, jar, test, publishToMavenLocal, and clean operations. Tasks can be executed across all modules from the root directory or targeted to specific modules using qualified task names.

According to GitGenius classification data, the repository encompasses extensive functionality across database abstraction, caching, transactions, SQL generation, relational data handling, JPA support, database mapping, query language implementation, object-relational mapping, data mapping, data persistence, entity management, object mapping, session handling, and schema generation. The project maintains active continuous integration pipelines and is built with Develocity for build optimization and reproducible builds verification through the JVM Repo Rebuild project.

hibernate-orm
by
hibernatehibernate/hibernate-orm

Repository Details

Fetching additional details & charts...