Java Expert....Java/Open Source Addict

Redes Sociales

twitterlinkedinrss feedemail youtube

jueves, 18 de diciembre de 2008

Herencia en TopLink II Parte


Creando los Descriptores

Luego de realizar la configuración del proyecto descrita anteriormente nuestro proyecto presenta el siguiente estado:

Como podemos apreciar en la figura anterior tanto las tablas, como las clases y los archivos relacionados con el mapeo como son el InheritanceMap y el sessions.xml están creados. Ahora procederemos a crear los descriptores para lo cual seleccionamos el InheritanceMap en en la ventana System Navigator a lo cual se nos activa en el ventana Structure nuestras clases java lista para crear los descriptores y ser mapeadas como podemos apreciar en la figura a continuación:

Seleccionamos en la ventana Structure al mapa InheritanceMap y damos un click en el botón + para la creación de los descriptores a lo que se nos presenta primero una ventana donde seleccionamos las clases que queremos crear los descriptores junto con sus mapas como se puede apreciar en la figura a continuación:

Debemos seleccionar Ok para que nuestros descriptores sean creados, suele ocurrir en JDeveloper que cuando los atributos de las clases tienen nombres iguales a los atributos de las tablas el mapeo se genera automáticamente junto con esta operación (Mi caso). Caso contrario se deberá proceder a realizar el mapeo en base a los atributos de cada clase teniendo diferentes opciones como se muestra en la figura a continuación:

Una vez que se han generado los descriptores respectivos para cada clase, debemos proceder a configurar la herencia tanto para las clases hijas como para la clase padre lo cual lo veremos en el siguiente post

Herencia en TopLink I Parte


Comenzando la semana un poco agotado por la amanecida de ayer para variar….pero con todas las ganas de vivir una experiencia más de vida informática gracias a Dios comencé el día investigando la herencia con TopLink, este es mi primer post en mi nuevo blog así que espero que sea enriquecedor.

Solamente para aclarar un poco, la herencia de la forma más fácil describe como una clase hija puede reutilizar eficientemente tanto el estado (atributos) como el comportamiento (métodos) de su clase padre, además que es una técnica muy importante en la programación Orientada a Objetos…………………bueno es momento de comenzar para lo que necesitamos instalar dos requerimientos en especial, los cuales son:
  • Jdk 1.4.2 o posterior
  • JDeveloper 10G
Configurando e Inicializando Proyecto
Luego de tener instalado el ambiente de desarrollo, abrimos nuestro IDE JDeveloper y comenzamos creando una nueva aplicación llamada TopLinkInheritance con un proyecto llamado Inheritance como se muestra en las figuras a continuación:


Antes de continuar es necesario aclarar el esquema del modelo que vamos a atacar, el cual consiste de tres clases: una clase padre llamada Entidad y dos clases hijas llamadas Empresa y Persona respectivamente las cuales estarán representadas en la base de datos por una tabla cada una. El
modelo de clases podemos apreciarlo en la siguiente figura a continuación:

Cabe aclarar que en TopLink se maneja hasta tres tipos de jerarquía en herencia, es decir tres niveles, algo que debemos saber es que en el descriptor de la clase hija se pueden sobrescribir mapeos que han sido especificados en la clase padre o mapear atributos que no han sido mapeados en el descriptor de la clase padre.

Para poder continuar debemos asociar nuestro esquema creado llamado herencia con nuestras tablas para trabajar de una forma más eficiente, para lo cual nos dirigimos a nuestro proyecto y seleccionamos la opción Inheritance >> New >> Database Tier >> Offline Database Objects >> Offline Database Objects Imported from Database. Para poder proseguir con el wizard nos pedirá que creemos una nueva conexión de base de datos a lo cual la llamaremos InheritanceDB como podemos apreciar en la figura:

Luego de esto elegimos las tablas que vamos a utilizar, a lo cual marcamos nuestras tres tablas como podemos apreciarlo en la figura a continuación:


Luego de esto se nos presenta la opción para elegir un nuevo esquema para el tema de importación lo cual lo dejamos por defecto luego seleccionamos siguiente y nos presenta el resumen y se termina la creación, el estado en el cual queda el proyecto luego de estos pasos se lo puede apreciar en la figura a continuación:

Debemos aclarar que al igual que otros ORM (Object Relational Mapping) como hibernate éste se compone de POJOS y archivos que XML que en nuestro caso representan el mapeo con las tablas los cuales se llaman descriptores. Por lo cual comenzaremos creando primeros los POJOS que representan nuestras clases desde nuestras tablas para lo que seleccionamos la siguiente opción Inheritance >> New >> Business Tier >> Toplink >> Java Objects from Tables.


Lo primero que tenemos que hacer para proseguir es crear el archivo de mapeo de todas las clases conocido con el nombre de TopLink Map para lo cual seleccionamos la opción de New que se encuentra junto a él, a lo cual se nos presenta un pantalla donde debemos ingresar un nombre de mapa que lo llamaremos InheritanceMap seleccionar la versión de la bdd y la conexión como se puede apreciar en la figura a continuación:
Luego de realizar esto ya podemos proseguir al siguiente paso que consiste en seleccionar las tablas que nos servirán para crear nuestras clases java, seleccionamos todas las tablas como se aprecia en la figura:

Luego de esto seleccionamos el nombre del paquete en donde se crearan nuestras clases, le dejamos por defecto con el nombre del proyecto inheritance.


Como último paso se muestran el detalle de los objetos y el resumen con lo cual ya hemos realizado la creación de nuestras clases (POJOS). Ahora el siguiente paso y uno de los más importantes es crear los descriptores y realizar el mapeo……