Tabla de Contenidos

Generar entidades a partir de la BBDD

PEDRO DELGADO YARZA 2014/01/29 13:50

Una vez tengamos definidas las tablas de base de datos podemos generar las clases Java equivalentes (entidades) a partir del esquema sin necesidad de codificar nosotros las clases. Para ello haremos uso de dos librerías necesarias para tal tarea: la consola de Hibernate y el generador JPA.

La consola de Hibernate nos permitirá definir un canal de conexión con la base de datos a nivel de proyecto, que será usado por el generador JPA. Es importante no confundir con la fuente de datos, este canal de conexión sólo es aplicable en nuestro IDE de desarrollo y no en el despliegue del proyecto.

El generador JPA conectará con la base de datos, recorriendo el esquema y generando las clases Java equivalentes a las tablas, así como sus métodos y propiedades.

Crear configuración para la consola de Hibernate

El primer paso que debemos dar es crear la configuración necesaria para conectar con la base de datos. Para ello lo primero que tenemos que hacer es abrir la vista de eclipse de la consola de Hibernate siguiendo los siguientes pasos:

En eclipse hacemos clic en Window » Show View » Other

Una vez seleccionada la opción se nos abrirá una ventana en la que nos permitirá buscar qué vista queremos mostrar. En el campo de filtrado escribirmos hibernate y en la lista que nos aparece a continuación seleccionamos Hibernate Configurations:

Tras darle a OK nos aparecerá en nuestro menú de vistas la vista de configuración de Hibernate:

Una vez tengamos esta vista podremos iniciar la configuración de la conexión con la base de datos. El primer paso es abrir el wizard de configuración, para ello hacemos clic derecho sobre la vista de Hibernate y, en el menú contextual que aparece, hacemos clic sobre Add Configuration..

Una vez dentro del Wizard, selecionamos el botón de radio JPA (jdk1.5+) y en el combo Hibernate version selecionamos 4.0. Ahora, tenemos que crear una nueva conexión a la base de datos. Para ello hacemos clic en el botón New que está en el grupo de configuración Database connection.

Si utilizas el IDE FundeWeb 2.1, la versión de Hibernate tiene que ser la 4.3.

En el nuevo Wizard que nos aparece, escribimos en el filtro oracle y seleccionamos la opción que nos aparece Oracle Database Connection. Tras ello pulsamos en Next

En la siguiente pantalla establecemos la configuración de la conexión de la base de datos, de igual manera que lo hicimos cuando configuramos el DataSource en el servidor. Tras ello, probamos la conexión pulsando Text Connection y en caso de que funcione correctamente pulsamos el botón Next

Una vez creada la fuente de datos, volvemos al Wizard inicial, esta vez podemos rellenar todos los campos:

Para aplicaciones FundeWeb 1.x migradas a Weblogic 12, el proyecto a seleccionar es el del Módulo EJB (nombreProyecto-ejb).

Tras seleccionar todos esos apartados pulsamos en Apply y posteriormente en OK.

El resultado final de todo el proceso nos incluirá en nuestra vista de Hibernate un esquema similar a este:

Lanzar el generador JPA

En este punto ya tenemos configurada nuestra conexión Hibernate con base de datos y sólo queda lanzar el generador JPA para generar nuestras entidadas. Para ello hacemos click derecho sobre el módulo web de nuestro proyecto (web_nombreProyecto) y en el menú desplegable que aprece buscamos lo siguiente: JPA Tools » Generate Entities from Tables

Una vez seleccionado se nos muestra un menú que nos pide la configuración para lanzar el generador. Deberemos definir los siguientes campos:

Tras rellenar los campos pulsamos Finish y esperamos a que la ventana se cierre. Tras ello tendremos nuestras clases generadas dentro del paquete que indicamos.

Posibles Errores

Dialect Class Not Found

Si nos aparece el siguiente error

 Error en generación de JPA por FundeWeb Dialect

Tenéis que hacer lo siguiente: