Estoy teniendo algunos problemas para obtener una asociación bidireccional de uno a muchos que trabaje con JoinTables. Esto es lo que tengo:one-to-many bidireccional con
Clase A:
@OneToMany
@JoinTable(name="join_table",
JoinColumns={@JoinColumn(name="a_id")},
inverseJoinColumns={@JoinColumn(name="b_id")}
)
@Cascade(org.hibernate.annotations.CascadeType.ALL)
public Set<B> getBs() {
return bs;
}
Clase B:
@ManyToOne
@JoinTable(name="join_table",
joinColumns={@JoinColumn(name="b_id", insertable=false,updatable=false)},
inverseJoinColumns={@JoinColumn(name="a_id", insertable=false,updatable=false)})
public A getA() {
return a;
}
Si se crea una instancia de A y B, añadir la instancia de B a A y guardar. Funciona. Pero cuando recargo la instancia de A e intento acceder al conjunto de Bs arroja un LazyInitializationError con el mensaje "acceso ilegal a la carga de la colección".
¿Dónde me estoy equivocando aquí? :) ¿Alguien puede señalarme un ejemplo de asociación bidireccional que utiliza una tabla de unión? Y donde la propiedad se mantiene en la Clase A, he buscado la documentación en hibernate.org pero parece que no puedo encontrarla.
-Daniel
¿Por qué está utilizando una tabla de combinación diferente en su entidad derivada (B)? – Perception
lo siento, he actualizado la pregunta. La razón fue que modifiqué las dos clases reales para el ejemplo (renombrándolas A y B básicamente :)) – JustDanyul
Ok. Agregue el error que está recibiendo a la pregunta. – Perception