Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Relacion Auto->Reserva #20

Open
aitrusgit opened this issue Oct 19, 2015 · 2 comments
Open

Relacion Auto->Reserva #20

aitrusgit opened this issue Oct 19, 2015 · 2 comments
Labels
Milestone

Comments

@aitrusgit
Copy link
Contributor

Tienen un problema en la relacion bidireccional Auto->Reserva

En Auto
image

En Reserva
image

Cuando en Auto dicen <key column="numeroSolicitud" /> en realidad a lo que se refiere es a como debe llamarse la FK que apunta a Auto desde los elementos de la colección. El nombre debe ser cualquiera pero en una relacion bidireccional tiene que coincidir con el nombre de la columna tal como la llamaron del otro lado de la relacion <many-to-one name="auto" column="auto" not-null="true" unique="false" cascade="all"/>

@aitrusgit aitrusgit added this to the Entrega 2 milestone Oct 19, 2015
@guidopj
Copy link
Owner

guidopj commented Oct 20, 2015

esto, no lo entendí bien.

quedaria:

list name="reservas" cascade="save-update"
key column="auto"
list-index column="reserva_index"
one-to-many class="ar.edu.unq.epers.model.Reserva"
list
de este modo el key column coincide con el name del auto en el archivo de reserva.xml. No entiendo por qué esto es necesario

@aitrusgit
Copy link
Contributor Author

En el mapeo de Auto: en la <list> vos tenes un "key column" que basicamente le dice a hibernate "de esta forma se va a llamar la FK en la tabla hija (Reserva en este caso) que referencie al elemento padre en la tabla Auto.

En el mapeo de Reserva: vos tenes una referencia al Auto que contenes, escrita como un <one-to-many> el column en este lugar te dice como se va a llamar "la FK que referencie al Auto"

Ambos son extremos de la misma relación, es una relación bidireccional, la forma de decirle a hibernate que es asi es colocando el mismo nombre de column en ambos. Sino tranquilamente hibernate podria pensar que vos tus Reservas tienen una lista de Autos, y cada Auto referencia a otra Reserva que nada que ver (podria ser un modelo perfectamente valido, pero no es el caso)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants