
CVE-2019-14900
Hibernate ORM es una librería que proporciona soporte de Mapeo Objeto-Relacional (ORM) a aplicaciones, librerías y frameworks.
También proporciona una implementación de la especificación JPA, que es la especificación estándar de Java para ORM.
Este es el repositorio de su código fuente: consulte Hibernate.org para obtener información adicional.
La compilación requiere un JDK de Java 8 como JAVA_HOME.
Necesitará Git para obtener el código fuente.
Hibernate utiliza Gradle como su herramienta de compilación. Consulte la sección Primer de Gradle más abajo si es nuevo en Gradle.
Los colaboradores deben leer la Guía de contribución.
Consulte las guías para configurar IntelliJ o Eclipse como su entorno de desarrollo.
Consulte la sección Primeros pasos en CONTRIBUTING.md para comenzar a trabajar con el código fuente de Hibernate.
Hibernate utiliza Jenkins para sus necesidades de CI. El proyecto se compila de forma continua en cada push al repositorio upstream. En total hay varios trabajos diferentes, todos los cuales pueden verse en http://ci.hibernate.org/view/ORM/
Esta sección describe algunos de los conceptos básicos que los desarrolladores y colaboradores nuevos en Gradle podrían necesitar conocer para ser productivos rápidamente. La documentación de Gradle está muy bien hecha; 2 en particular son indispensables:
Para los colaboradores que no usan Gradle de otra manera y no quieren instalarlo, Gradle ofrece una característica muy
interesante llamada wrapper. Permite ejecutar compilaciones de Gradle sin una distribución de Gradle previamente instalada, de
forma sin configuración. Hibernate configura el wrapper de Gradle por usted. Si prefiere usar el wrapper y
no instalar Gradle (o para asegurarse de usar la versión de Gradle prevista para compilaciones más antiguas), simplemente use
el comando gradlew (o gradlew.bat) en lugar de gradle (o gradle.bat) en las siguientes discusiones.
Tenga en cuenta que gradlew solo está disponible en el directorio raíz del proyecto, por lo que dependiendo de su directorio de trabajo puede
necesitar ajustar la ruta a gradlew también.
Los ejemplos usan la sintaxis de gradle, pero simplemente reemplace gradlew (debidamente relativo) por gradle si desea usar
el wrapper.
Otra razón para usar gradlew es que usa la versión exacta de Gradle con la que la compilación está definida para funcionar.
Gradle usa el concepto de tareas de compilación (equivalentes a objetivos de Ant o fases/metas de Maven). Puede obtener una lista de tareas disponibles mediante
gradle tasks
Para ejecutar una tarea en todos los módulos, simplemente realice esa tarea desde el directorio raíz. Gradle visitará cada subproyecto y ejecutará esa tarea si el subproyecto la define. Para ejecutar una tarea en un módulo específico puede o bien:
cd al directorio de ese módulo y ejecutar la tareagradle hibernate-core:testProbar contra una base de datos específica se puede lograr de 2 maneras diferentes:
Próximamente...
La compilación de Hibernate define varios "perfiles" de prueba de bases de datos en databases.gradle. Estos
perfiles se pueden activar por nombre usando la propiedad de compilación db que se puede pasar ya sea como
una propiedad de sistema JVM (-D) o como una propiedad de proyecto de Gradle (-P). Los ejemplos a continuación usan el enfoque
de propiedad de proyecto de Gradle.
gradle clean build -Pdb=pgsql
Para ejecutar una prueba desde su IDE, debe asegurarse de que las expansiones de propiedades ocurran. Use el siguiente comando:
gradle clean compile -Pdb=pgsql
NOTA: Si está ejecutando pruebas contra un controlador JDBC que no está disponible a través de Maven central, asegúrese de agregar estos controladores a su caché local del repositorio Maven (~/.m2/repository) o (mejor) agréguelo a un servidor de repositorio Maven personal
Puede ejecutar cualquier prueba en cualquier base de datos particular que esté configurada en un perfil de databases.gradle.
Todo lo que tiene que hacer es ejecutar el siguiente comando:
gradlew setDataBase -Pdb=pgsql
o puede usar la versión abreviada:
gradlew sDB -Pdb=pgsql
Puede hacer esto desde el módulo que le interesa probar o desde la carpeta raíz de hibernate-orm.
Después, simplemente elija cualquier prueba desde el IDE y ejecútela como de costumbre. Hibernate tomará la configuración de la base de datos del archivo hibernate.properties
que fue configurado por la tarea de Gradle setDataBase.