Bienvenida

Como todo en la vida, la innovación es la clave del éxito por lo que nos hemos visto en la necesidad de "evolucionar" este blog para abarcar muchos otros temas que estaban quedando de lado en nuestros cursos "oficiales".

Si deseas aprender o profundizar algunos temas en particular, no dudes en contactarnos.


miércoles, 16 de noviembre de 2011

JPA: Caso Completo de RelationsShips

Aqui presentamos un caso que comprende todo el tema de relationships en JPA.

El caso es bastante sencillo:
- Hay una entidad propietario que se implementa con una herencia simple ( persona natural y persona juridica ) y que además posee una clase embebida ( direccion).
- Existe una entidad Auto que puede tener servicios relacionados ( mantenimientos ).
Además, cada mantenimiento puede tener varios repuestos utilizados.

El modelo de Objetos y las relaciones es el siguiente:

El proyecto Java ( es un proyecto Java Stand Alone ) lo puedes descargar de aquí. Acuerdate de colocar las librerías para EclipseLink, Hibernate u OpenJPA y del conector de MySQL. EL persistence XML está preparado para funcionar con 3 unidades de persistencia apuntando a una base de datos que debes crear vacía ( con nombre "manytomany" ) .

Luego de ejecutar los programas de Insert, los SQL directos a la base de datos te deben mostrar:



Ejemplos JP-QL: Ahora veremos como navegar entre las relaciones de las entidades. Asegúrate de ver bien los atributos que tiene cada entidad.

Ejemplo 1: Todos los propietarios que tiene automovil
Ejemplo 2: Todos los propietarios que tiene automovil  con los servicios ejecutados


Ejemplo 3: El costo total del servicio por auto ( sin considerar repuestos )


Ejemplo 4:El costo total de repuestos por auto


Hasta la próxima.
No te olvides de dejar un comentario.


2 comentarios:

  1. Como descargo el proyectoo ? =( me sale archivo por archivo. El punto es que no puedo =/

    ResponderEliminar
  2. Abres el link en una pagina
    Arriba a la izquierda dice FILE
    Luego escoger "Download original" y te descarga el zip
    No se porque hace eso porque con Chrome funciona OK.

    saludos

    ResponderEliminar