# Release 6: Modelo consolidado del proyecto

Copia este contenido en una página nueva de la wiki del grupo, con el título
**Modelo consolidado: asociaciones inter-módulo**. Una sola página para todo
el equipo, no una por integrante.

Pega primero una imagen del diagrama de clases consolidado (todos los
módulos juntos, con las asociaciones inter-módulo ya dibujadas) y debajo
completa la tabla, una fila por cada asociación inter-módulo.

**Qué NO va en esta tabla.** Llaves foráneas, nombres de columnas o de
tablas no son el objeto de esta decisión: eso lo deriva JPA de las
anotaciones. Lo que el equipo decide aquí es el modelo de objetos: qué
anotación lleva cada extremo y cómo se llama el atributo `mappedBy`.

---

## Diagrama de clases consolidado

_(pega aquí la imagen del diagrama)_

---

## Tabla de asociaciones inter-módulo

| Clases involucradas | Cardinalidad | Dirección | Extremo propietario | Extremo inverso | Responsable |
| :---- | :---- | :---- | :---- | :---- | :---- |
| _Ejemplo:_ `ArtistaEntity` y `AlbumEntity` | `N a N` | Bidireccional | En `ArtistaEntity`: `private List<AlbumEntity> albumes;` con `@ManyToMany` | En `AlbumEntity`: `private List<ArtistaEntity> artistas;` con `@ManyToMany(mappedBy = "albumes")` | _Ana_ |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |

**Cómo completar cada columna:**

- **Clases involucradas.** Las dos clases `<Entidad>Entity`, con su módulo entre paréntesis si no es obvio.
- **Cardinalidad.** `1 a 1`, `1 a N` o `N a N`.
- **Dirección.** Unidireccional (de cuál clase a cuál) o bidireccional.
- **Extremo propietario.** La clase, el nombre exacto del atributo y la anotación, sin `mappedBy`.
- **Extremo inverso.** La clase, el nombre del atributo y la anotación con `mappedBy = "..."`, donde el valor es **el nombre exacto** del atributo que escribiste en la columna anterior.
- **Responsable.** El nombre de **un** integrante por asociación: quien escribe el extremo propietario, el que tiene esa entidad en su módulo. Sin responsable, cada uno cree que le toca al otro y la relación se descubre sin escribir al integrar. El integrante del extremo inverso agrega su lado en su propio PR.

**Sin `@JoinTable` ni `@JoinColumn`.** Este proyecto no personaliza nombres de tabla ni de columna: JPA los genera por defecto a partir de los nombres de las entidades y los atributos.

---

## Aprobación

| Integrante | Aprobó (Sí/No) | Fecha |
| :---- | :---- | :---- |
| | | |
| | | |
| | | |
| | | |

- [ ] Todos los integrantes revisaron el diagrama completo, no solo su propio módulo.
- [ ] Cada fila tiene su extremo propietario, su `mappedBy` y su responsable decididos, no solo la cardinalidad.
- [ ] Nadie empieza a escribir las entidades con asociaciones inter-módulo antes de que esta página quede aprobada.
