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.


domingo, 22 de mayo de 2011

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 las caracterí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.

TAREA: Intenta ejecutar una operación de PERSIST, MERGE o REMOVE.

Opina y/o comenta como te va con la tarea.

7 comentarios:

  1. Profesor aqui encontre un link de JPA didactico, en caso sea de ayuda para todos
    http://www.slideshare.net/maxmouse/java-persistence-api-jpa

    ResponderEliminar
  2. ¡ Bien ! ... se ve que has estado estudiando ...
    He puesto el enlace en la zona de destacados

    Gracias

    ResponderEliminar
  3. yo también aporto algo...
    Aquí un link con ejemplos de One to One

    http://www.java2s.com/Code/Java/JPA/One-to-One-Mapping.htm

    ResponderEliminar
  4. ok, se agradece el aporte. Se nota que han estado investigando.

    ResponderEliminar
  5. Una pregunta profe: Lo importé a mi Workspace y le redireccioné los JARS.

    Finalmente me aparece este error:

    Exception in thread "main" javax.persistence.PersistenceException: No Persistence provider for EntityManager named Ejemplo-OneToOne
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:89)
    at edu.cibertec.persistence.InverseTest.setup(InverseTest.java:22)
    at edu.cibertec.persistence.InverseTest.main(InverseTest.java:16)

    Que está sucediendo?

    Muchas gracias

    ResponderEliminar
  6. Puedes verificar tu persistence.xml ?
    La persistence-unit que usas ahi debe coincidir con la que invoca el main.

    saludos

    ResponderEliminar
  7. Profesor, comparto un link adicional que me pareció interesante:
    http://www.aprendiendojava.com.ar/index.php?topic=54.0
    Saludos.

    ResponderEliminar