프로젝트 소개

Hibernate ORM은 Java와 관계형 데이터베이스를 위한 객체/관계형 매핑(ORM) 솔루션입니다. 이는 Java Persistence API, 현재는 Jakarta Persistence로도 알려진 표준의 사실상 표준 구현으로 설명되며, Jakarta Query와 Jakarta Data도 포함합니다. 이 라이브러리는 관계형 데이터를 자연스럽고 타입 안전한 형태로 노출합니다. README에 따르면, 복잡한 쿼리를 작성하고 그 결과를 다루기 쉽게 하고, 인메모리 변경 사항을 데이터베이스와 동기화하며, ACID 트랜잭션 속성을 준수하고, 시간 데이터와 감사 로깅을 처리하며, 멀티테넌시와 행 수준 보안을 지원하고, 기본 영속성 로직을 작성한 후 성능 최적화를 허용하는 것을 목표로 합니다. 시작하기 문서는 hibernate.org/orm/documentation에 호스팅되어 있으며, Java 프로젝트에 Hibernate ORM을 포함하고 데이터베이스에 연결하는 방법을 설명하는 구성 페이지가 있습니다. 소스에서 빌드하려면 최소 JDK 25가 필요하며 Java 17 바이트코드를 생성합니다. 이 프로젝트는 빌드 도구로 Gradle을 사용하며 Gradle Wrapper를 포함합니다. 일반적인 작업에는 build, compile, jar, test, publishToMavenLocal(pTML), clean이 있습니다. 작업은 루트 디렉터리에서 모든 모듈에 걸쳐 실행하거나 특정 모듈로 범위를 지정할 수 있습니다. 예를 들어 hibernate-core:test와 같습니다. 임베디드 H2 데이터베이스에 대한 테스트는 ./gradlew test를 통해 간단하게 수행할 수 있습니다. 다른 데이터베이스의 경우, 빌드는 local.databases.gradle에 데이터베이스 테스트 프로필을 정의하며, db 속성으로 활성화합니다. 예를 들어 -Pdb=postgresql과 같습니다. db.sh 스크립트는 podman 또는 docker를 사용하여 미리 구성된 데이터베이스 컨테이너를 시작하며, --keep-orphans 또는 -k로 여러 데이터베이스를 계속 실행하도록 지원합니다. README에는 H2, HSQLDB, Apache Derby, MySQL, MariaDB, PostgreSQL, PostGIS, EnterpriseDB, Oracle, DB2, SQL Server, Sybase ASE, SAP HANA, CockroachDB, TiDB, Informix, Spanner PostgreSQL, CUBRID를 포함한 많은 데이터베이스에 대한 명령이 나열되어 있습니다. 기여자는 Contributing Guide와 IntelliJ IDEA 및 Eclipse 설정 가이드를 참조하도록 안내됩니다. 지속적 통합 정보는 MAINTAINERS.md에서 확인할 수 있습니다. 이 프로젝트는 또한 Maven Central, GitHub Actions 상태, Develocity, Reproducible Builds, Oracle Test Pilot 배지를 참조합니다.