-
Notifications
You must be signed in to change notification settings - Fork 14
Shared OneToOne
En este ejemplo se tienen dos entidades Ciudad (City) y Ciudadano (Citizen). En el modelo conceptual se indica que una ciudad solo puede tener un ciudadano que cumple el rol de alcalde (mayor), y que un ciudadano solo puede administrar (manage) una ciudad.
En la transformación al modelo de entidades se deben crear dos asociaciones para representar la bidireccionalidad: una asociación entre CityEntity y CitizenEntity denominada mayor, y una asociación entre CitizenEntity y CityEntity llamada manage.
Como cada extremo tiene una cardinalidad 0..1, eso significa que la anotación del extremo en las dos asociaciones, debe ser OneToOne.
En este ejemplo se ha decidido que CityEntity sea la entidad dueña de la relación. Por eso, en la asociación que apunta a CityEntity (manage), se ha definido en la propiedad mappedBy el valor mayor.
Este es el código en Java que representa a cada entidad:
@Entity
public class CityEntity extends BaseEntity
{
private String name;
@PodamExclude
@OneToOne
private CitizenEntity mayor;
//...
}
@Entity
public class CitizenEntity extends BaseEntity
{
private String name;
private String address;
@PodamExclude
@OneToOne(
mappedBy = "mayor",
fetch = FetchType.LAZY
)
private CityEntity manage;
//...
}
Esta wiki fue creada para el curso ISIS2603 Desarrollo de Software en Equipos en la Universidad de los Andes. Desarrollado por Rubby Casallas con la colaboración de César Forero, Kelly Garcés, Jaime Chavarriaga y José Bocanegra. Universidad de los Andes, Bogotá, Colombia. 2021.
- Instalación del ambiente en máquina propia
- Configuración de la máquina virtual
- Ejecución del back
- Uso de Codespaces
- Clases
- Herencia
- Asociaciones
- Tipos de asociaciones
- Caso de estudio: la biblioteca
- Caso de estudio: la empresa
- Java Persistence API (JPA)
- Implementación paso a paso persistencia
- Ejemplo implementación persistencia
- Carga de datos en el Backend
- Relaciones compartidas (Shared) OneToOne
- Relaciones compartidas (Shared) OneToMany/ManyToOne
- Relaciones compuestas (Composite) OneToMany/ManyToOne
- Conceptos básicos de REST
- Diseño API REST
- Tutorial documentación diseño API
- Implementación API REST con Spring
- Tutorial implementación API