
CVE-2019-14900
Hibernate ORM é uma biblioteca que fornece suporte a mapeamento objeto-relacional (ORM) para aplicações, bibliotecas e frameworks.
Ela também fornece uma implementação da especificação JPA, que é a especificação Java padrão para ORM.
Este é o repositório do seu código-fonte: veja Hibernate.org para informações adicionais.
A compilação requer um JDK Java 8 como JAVA_HOME.
Você precisará do Git para obter o código-fonte.
O Hibernate usa Gradle como sua ferramenta de build. Veja a seção Introdução ao Gradle abaixo se você é novo no Gradle.
Os contribuidores devem ler o Guia de Contribuição.
Consulte os guias para configurar o IntelliJ ou o Eclipse como seu ambiente de desenvolvimento.
Confira a seção Começando no CONTRIBUTING.md para começar a trabalhar no código-fonte do Hibernate.
O Hibernate utiliza Jenkins para suas necessidades de CI. O projeto é compilado continuamente a cada push para o repositório upstream. No total, existem alguns jobs diferentes, todos os quais podem ser vistos em http://ci.hibernate.org/view/ORM/
Esta seção descreve alguns dos conceitos básicos que desenvolvedores e contribuidores novos no Gradle podem precisar conhecer para se tornarem produtivos rapidamente. A documentação do Gradle é muito bem feita; 2 em particular são indispensáveis:
Para contribuidores que não usam Gradle de outra forma e não querem instalá-lo, o Gradle oferece um recurso muito
legal chamado wrapper. Ele permite executar builds do Gradle sem uma distribuição Gradle previamente instalada, de
maneira zero-config. O Hibernate configura o Gradle wrapper para você. Se você preferir usar o wrapper e
não instalar o Gradle (ou para garantir que use a versão do Gradle destinada a builds mais antigos), basta usar
o comando gradlew (ou gradlew.bat) em vez de gradle (ou gradle.bat) nas discussões a seguir.
Observe que gradlew só está disponível no diretório raiz do projeto, então dependendo do seu diretório de trabalho, você pode
precisar ajustar o caminho para gradlew também.
Os exemplos usam a sintaxe gradle, mas basta substituir gradle por gradlew (devidamente relativo) se você desejar usar
o wrapper.
Outra razão para usar gradlew é que ele usa a versão exata do Gradle com a qual o build foi definido para funcionar.
O Gradle usa o conceito de tarefas de build (equivalente a alvos do Ant ou fases/objetivos do Maven). Você pode obter uma lista das tarefas disponíveis via
gradle tasks
Para executar uma tarefa em todos os módulos, basta executar essa tarefa a partir do diretório raiz. O Gradle visitará cada subprojeto e executará essa tarefa se o subprojeto a definir. Para executar uma tarefa em um módulo específico, você pode optar por:
cd para entrar no diretório do módulo e executar a tarefagradle hibernate-core:testTestar contra um banco de dados específico pode ser feito de 2 maneiras diferentes:
Em breve...
O build do Hibernate define vários "profiles" de teste de banco de dados em databases.gradle. Esses
profiles podem ser ativados pelo nome usando a propriedade de build db, que pode ser passada tanto como
uma propriedade de sistema da JVM (-D) quanto como uma propriedade de projeto do Gradle (-P). Os exemplos abaixo usam a abordagem
de propriedade de projeto do Gradle.
gradle clean build -Pdb=pgsql
Para executar um teste a partir da sua IDE, você precisa garantir que as expansões de propriedade aconteçam. Use o seguinte comando:
gradle clean compile -Pdb=pgsql
NOTA: Se você estiver executando testes contra um driver JDBC que não está disponível via Maven Central, certifique-se de adicionar esses drivers ao seu cache de repositório Maven local (~/.m2/repository) ou (melhor) adicione-os a um servidor de repositório Maven pessoal
Você pode executar qualquer teste em qualquer banco de dados específico configurado em um profile de databases.gradle.
Tudo o que você precisa fazer é executar o seguinte comando:
gradlew setDataBase -Pdb=pgsql
ou você pode usar a versão abreviada:
gradlew sDB -Pdb=pgsql
Você pode fazer isso a partir do módulo no qual está interessado em testar ou da pasta raiz hibernate-orm.
Depois, basta escolher qualquer teste na IDE e executá-lo como de costume. O Hibernate pegará a configuração do banco de dados do arquivo hibernate.properties
que foi configurado pela tarefa Gradle setDataBase.