Documento De Prueba

Páginas: 6 (1391 palabras) Publicado: 8 de septiembre de 2011
Desarrollo de Aplicaciones Web II

Este es es el blog "oficial" del curso "Desarrollo de Aplicaciones Web II" . Aqui colocaremos material impartido en las sesiones presenciales para afianzar los conocmientos y utilizar las nuevas tecnologias aplicadas a la enseñanza.

El curso de “Desarrollo de Aplicaciones Web II” pertenece a la línea de Programación dentro de la Carrera de Computación eInformática y brinda un conjunto de conocimientos y herramientas que permitirán a los alumnos poder desarrollar aplicaciones web de n-capas utilizando los frameworks Java : Struts-2, Java Persistence API ( JPA ) y Java Server Faces ( JSF ).

JPA: Relaciones One To One

En este post comentaremos el tipo de relación de uno-a-uno que se aprendió durante los cursos de Anáisis y Diseño con UML.Básicamente implica que una entidad está relacionada con otra, pero tiene sus bemoles: 
* Existe la relación nomal (analiza este ejemplo ).
* Pero también existe la relación inversa (analiza este ejemplo ).

De esta forma, es posible consultar las entidades por los dos lados de la relación.

Este tipo de relación requiere de dos anotaciones:
* @OneToOne : para especificar lascaracterísticas lógicas de la relación
* @JoinColumn: para especificar las características físicas de la relación. Es decir, cuales son las columnas de JOIN de las tablas.

Descarga e importa esta base de datos MySQL y lee el siguiente PDF de la clase.

Hasta el momento sólo hemos visto como ejecutar sentencia de consulta usando la relación OneToOne.

JPA : OneToMany / ManyToOne

Hasta elmomento no lo habíamos mencionado, pero existen básicamente dos formas de asociación:
* Las basadas en valores simples.
* Las basadas en colecciones de valores.

Dentro de esas formas de asociación, existen cuatro formas de “mapeo”:
* Relación One-To-One (valores simples). Este tema lo tratamos en un post anterior.
* Relación Many-To-One (valores simples)
* Relación One-To-Many(colecciones de valores)
* Relación Many-To-Many (colecciones de valores)

En este post trataremos el tema de las relaciones One-to-Many y Many-to-One (caso típico de las aplicaciones que manejan cabecera y detalle).

Si este es el esquema de base de datos, observa que la orden tiene una llave foránea que es el CUST_ID (de la tabla TBCUSTOMER) para poder identificar de quien es la orden:Las entidades respectivas tendrían el siguiente formato:

Es importante tener en cuenta que:

a) El lado “many-to-one” siempre es el lado “owner” de la relación. En consecuencia, la anotación@JoinColumn debe estar en dicho lado.
b) El lado “one-to-many” es el lado “inverso”, por lo que el elemento “mappedBy” debe ser utilizado en este lado.

El atributo "optional" en valor "false" indica quela relación siempre debe existir: es decir, no puede haber órdenes sin cliente asociado.

La anotación @JoinColumn especifica en el atributo "name" el nombre de la columna en la tabla "owner" de la relación. Mientras que el atributo "referencedColumnName" especifica el nombre de la columna en la tabla destino.

En la clase "Customer1" nota que existe un atributo "orders" que es una colecciónde órdenes que se cargarán de manera EAGER.

TIP: para evitar referenciar dentro de nuestros programas a cada atributo de la entidad, creamos un método "toString" que nos retorne la concatenación de los valores. Por ejemplo para la entidad "ORDERS" agregamos el método siguiente (aparte de los setter/getter ):

EJEMPLO 1: Fragmento de Programa main que lee desde el Cliente ( para la PK 1000 )la relación One-To-Many. Este fragmento busca al cliente con PK = 1000 y al referenciar al atributo "orders", automáticamente jala las órdenes relacionadas.

EJEMPLO 2: Fragmento de Programa main que lee todas las órdenes para el cliente con  PK = 1000. Es la relación Many-To-One

Si observas la consola de tu IDE, verás las sentencias SQL que se ejecutan ( siempre que la opción de debug...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Prueba de documento
  • documento de prueba
  • DOCUMENTO PRUEBA
  • Documento de prueba
  • Documento prueba
  • Documento De Prueba
  • Documento prueba
  • Documento de prueba

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS