Generación de BD a partir de mapeo de Hibernate

Saludos Saludos compañeros!

Quiero compartir con uds. la modificación que realicé al proyecto javamexico.

El cambio consiste en que el proyecto ahora funciona sin necesidad de ejecutar el script de sql para genera las tablas necesarias en nuestra BD. Ahora lo genera hibernate de manera automática.

Utilizó la propiedad e hibernate hibernate.hbm2ddl.auto para generar el ddl necesario.

El único requisito es tener la BD creada (javamexico), sin la necesidad de generar las tablas.

Realicé modificaciones a los Entity's para que la creación se apegará lo más posible al script original de Postgres.

Uno de los cambios que realicé en todas las entidades fue el de cambiar la estrategia de generación automática de los Id por esta: strategy=GenerationType.IDENTITY. Esto para que en caso de insertar un registro de forma manual, no fuera necesario obtener con anterioridad el valor siguiente en la secuencia que se genera con la estrategia GenerationType.SEQUENCE (la que actualmente se utiliza).

Además establecí la longitud máxima para los campos de acuerdo al script original, así como los valores que no aceptan nulos y los valores por default (Inicializando los valores en el constructor de la entidad), aunque estos valores no se verán en el ddl generado por hibernate.

La opciones de DELETE ON CASCADE, también las establecí en el mapeo, estas tampoco se ven reflejadas en el ddl.

Todos los casos de prueba funcionan, garantizando que las tablas se generaron de manera correcta, el único inconveniente es que sigue siendo necesario hacer una inserción a la tabla tema para que los casos de prueba de Foro funcionen es necesario insertar un tema con el insert de abajo que también viene en el script original:

insert into tema_foro( tema, descripcion, fecha_alta ) values ( 'Java', 'Todo lo relacionado al mejor lenguaje de programacion', '1960-01-01 23:03:20' );

El sistema funciona del mismo modo que lo hacia con la ejecución del script de sql original.

Espero que alguien pueda revisar mis cambios y así yo pueda obtener algo de retroalimentación para realizar mejoras al código.

El clon del repositorio se encuentra en:
https://luisruizpichardo-javamex.googlecode.com/hg/ luisruizpichardo-javamex

Gracias por su atención

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de JaimeItlzc

@luism No lo habia pensado

@luism no lo habia pensado pero es muy bueno aporte el que proporcionas he.. por ahi estoy a finales de darle un toque tambien de mi parte sobre un area del proyecto no se mucho de manejo de Frameworks pero pues hay le estoy dando , voy en 2 semestre del TEC asi que ya te imaginaras :P..

Saludos..
De Antemano Felicidades.