tutorial significa relacion qué one muchos mapeo many español bidireccional hibernate one-to-many foreign-keys associations

significa - Hibernate unidireccional de una a muchas asociaciones: ¿por qué es mejor una tabla de unión?



relacion muchos a muchos hibernate annotations (2)

En este documento (desplácese hacia abajo a la sección Unidireccional):

http://docs.jboss.org/hibernate/stable/annotations/reference/en/html_single/#entity-mapping-association-collections

dice que una asociación unidireccional de uno a muchos con una tabla de unión es muy preferible a simplemente usar una columna de clave externa en la entidad de propiedad. Mi pregunta es, ¿por qué es tan preferido?


Considere la situación en la que el tipo de entidad propiedad también puede ser propiedad de otro tipo de entidad matriz. ¿Ponen referencias de clave foránea en la tabla propia a ambas tablas padre? ¿Qué pasa si tienes tres tipos de padres? Simplemente no se adapta a diseños grandes.

Una tabla de unión desacopla la unión, de modo que la tabla de propiedad no tiene conocimiento de la (s) tabla (s) primaria (s), lo que permite que el diseño tenga una escala elegante.


Si la entidad hija solo tiene un solo tipo padre, entonces no hay necesidad de una tabla join. He hecho esto con JPA (con una impl de hibernación).

Ventajas: una tabla menos Tal vez un mejor rendimiento. No "¿para qué sirve esta mesa?" escribe preguntas.

Desventaja: desde la perspectiva de OO, se presenta una dependencia adicional entre el niño y el padre. En la práctica, esto probablemente no sea tan importante, ya que la relación es privada en el niño.

e.g. parent: @OneToMany(mappedBy = "parent", cascade = CascadeType.ALL) @MapKey(name = "name") private Map children; child: @ManyToOne(optional = false) private Parent parent;