La tabla típica para un T1 a muchos T2 es tener una clave externa en T2 apuntando hacia T1. La tabla T1_T2 generalmente no es necesaria.
La estructura JPA sería entonces de uno a muchos, posiblemente de dos vías.
Podría haber algunos arreglos para que la estructura que describe funcione. Se podría cambiar T1_T2:
- añadir una restricción única en T2 (de modo que sólo se permite una T2)
¿Es eso realmente lo que quieres?
Editado: sí, es lo que quiere ;-)
Dudo que pueda encontrar muchos ejemplos en la red. No tengo una solución comprobada, pero probaría algo como esto:
En Hibernate annotation reference documentation, consulte "2.2.5.3.2.3. Unidireccional con la tabla de unión" para obtener la idea. Parece que:
@Entity
public class Trainer {
@OneToMany
@JoinTable(
name="TrainedMonkeys",
joinColumns = @JoinColumn(name="trainer_id"),
inverseJoinColumns = @JoinColumn(name="monkey_id")
)
public Set<Monkey> getTrainedMonkeys() {
...
}
creo que se puede encontrar lo que busca en https://en.wikibooks.org/wiki/Java_Persistence/OneToMany#Example_of_a_OneToMany_using_a_JoinTable_database – Legna