Sobre o projeto

O Hibernate ORM é uma solução de mapeamento objeto/relacional (ORM) para Java e bancos de dados relacionais. É descrito como a implementação de facto standard da Java Persistence API, agora também conhecida como Jakarta Persistence, juntamente com Jakarta Query e Jakarta Data. A biblioteca expõe dados relacionais de forma natural e com segurança de tipos. De acordo com o README, o objetivo é facilitar a escrita de consultas complexas e o trabalho com os seus resultados, sincronizar alterações em memória com a base de dados, respeitar as propriedades ACID das transações, lidar com dados temporais e registo de auditoria, suportar multi-tenancy e segurança ao nível da linha, e permitir otimizações de desempenho depois de escrita a lógica básica de persistência. A documentação de introdução está alojada em hibernate.org/orm/documentation, com uma página de configuração que explica como incluir o Hibernate ORM num projeto Java e ligá-lo a uma base de dados. A compilação a partir do código-fonte requer pelo menos JDK 25 e produz bytecode Java 17. O projeto usa o Gradle como ferramenta de compilação e inclui um Gradle Wrapper. As tarefas comuns incluem build, compile, jar, test, publishToMavenLocal (pTML) e clean. As tarefas podem ser executadas em todos os módulos a partir do diretório raiz ou limitadas a um módulo específico, por exemplo hibernate-core:test. Testar com uma base de dados H2 incorporada é simples através de ./gradlew test. Para outras bases de dados, a compilação define perfis de teste de bases de dados em local.databases.gradle, ativados com a propriedade db, por exemplo -Pdb=postgresql. Um script db.sh inicia contentores de bases de dados pré-configurados usando podman ou docker, e suporta manter várias bases de dados em execução com --keep-orphans ou -k. O README lista comandos para muitas bases de dados, incluindo H2, HSQLDB, Apache Derby, MySQL, MariaDB, PostgreSQL, PostGIS, EnterpriseDB, Oracle, DB2, SQL Server, Sybase ASE, SAP HANA, CockroachDB, TiDB, Informix, Spanner PostgreSQL e CUBRID. Os contribuidores são encaminhados para o Contributing Guide e para guias de configuração do IntelliJ IDEA e do Eclipse. A informação sobre integração contínua está disponível em MAINTAINERS.md. O projeto também faz referência aos badges do Maven Central, GitHub Actions status, Develocity, Reproducible Builds e Oracle Test Pilot.