Commit 685b47e4 by Rubén Ramírez

feat: [Capitulo-Recurso]: Hecha la relación entre Capitulo y Recurso y modificado el ER

parent 868e37b3
...@@ -54,9 +54,8 @@ Usuario ||--o{ Repositorio : "tiene" ...@@ -54,9 +54,8 @@ Usuario ||--o{ Repositorio : "tiene"
Repositorio ||--o{ RepositorioRecurso : "contiene" Repositorio ||--o{ RepositorioRecurso : "contiene"
Recurso ||--o{ RepositorioRecurso : "almacenado en" Recurso ||--o{ RepositorioRecurso : "almacenado en"
RepositorioRecurso }|--|| Categoria : "clasificado en" RepositorioRecurso }|--|| Categoria : "clasificado en"
Recurso ||--o{ Capitulo : "contiene"
' Corrección: Un recurso puede tener varios géneros
Recurso ||--o{ Genero : "tiene varios" Recurso ||--o{ Genero : "tiene varios"
Recurso ||--o{ Capitulo : "contiene varios"
@enduml @enduml
...@@ -31,12 +31,16 @@ public class Capitulo { ...@@ -31,12 +31,16 @@ public class Capitulo {
@Column(nullable = false) @Column(nullable = false)
private String fuente; private String fuente;
@ManyToOne
@JoinColumn(name = "recurso_id", nullable = false)
private Recurso recurso;
// Constructor con parámetros // Constructor con parámetros
public Capitulo(int numero, String titulo, String url, String fuente) { public Capitulo(int numero, String titulo, String url, String fuente, Recurso recurso) {
this.numero = numero; this.numero = numero;
this.titulo = titulo; this.titulo = titulo;
this.url = url; this.url = url;
this.fuente = fuente; this.fuente = fuente;
this.recurso = recurso;
} }
} }
...@@ -5,7 +5,9 @@ import lombok.*; ...@@ -5,7 +5,9 @@ import lombok.*;
import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.NotNull;
import java.time.LocalDate; import java.time.LocalDate;
import java.util.ArrayList;
import java.util.HashSet; import java.util.HashSet;
import java.util.List;
import java.util.Set; import java.util.Set;
...@@ -42,6 +44,10 @@ public class Recurso { ...@@ -42,6 +44,10 @@ public class Recurso {
@Column(name = "genero") @Column(name = "genero")
private Set<Genero> generos = new HashSet<>(); private Set<Genero> generos = new HashSet<>();
// Relación con Capitulo (Un recurso tiene varios capítulos)
@OneToMany(mappedBy = "recurso")
private List<Capitulo> capitulos = new ArrayList<>();
// Constructor con parámetros obligatorios // Constructor con parámetros obligatorios
public Recurso(String titulo, String descripcion, LocalDate fechaPublicacion, String autor) { public Recurso(String titulo, String descripcion, LocalDate fechaPublicacion, String autor) {
this.titulo = titulo; this.titulo = titulo;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment