Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
2
respuestas

En sí ¿Cuál es la definición de 'Llave Foránea' para nuestro caso?

¿Viene a ser la columna 'serie_id' de la tabla 'episodios' de nuestra base de datos 'alura_series'? ¿Y esta llave foránea la establecimos haciendo lo siguiente?

    public void setEpisodios(List<Episodio> episodios) {
        episodios.forEach(episodio -> episodio.setSerie(this));
        this.episodios = episodios;
    }
2 respuestas

¡Hola Yahadad, espero que estés bien!

La "llave foránea" o "foreign key" es un concepto fundamental en bases de datos relacionales. En tu caso, la columna serie_id de la tabla episodios es efectivamente una llave foránea. Esto significa que serie_id en la tabla episodios está referenciando la clave primaria de otra tabla, que en este contexto sería la tabla series. Esta relación permite que cada episodio esté asociado a una serie específica.

En cuanto al código que mencionas:

public void setEpisodios(List<Episodio> episodios) {
    episodios.forEach(episodio -> episodio.setSerie(this));
    this.episodios = episodios;
}

Este método está configurando la relación entre los episodios y la serie. Para cada episodio en la lista, estás estableciendo que la serie a la que pertenece es la instancia actual de Serie (this). Esto es esencial para que Hibernate, o cualquier otra herramienta de ORM (Object-Relational Mapping), entienda cómo mapear las relaciones entre las entidades en el código y las tablas en la base de datos.

Sin embargo, para que esta relación se refleje correctamente en la base de datos, debes asegurarte de que la anotación de mapeo de relaciones en tus clases Java esté configurada adecuadamente. Por ejemplo, en la clase Episodio, deberías tener algo como:

@ManyToOne
@JoinColumn(name = "serie_id")
private Serie serie;

Esto indica que cada Episodio está relacionado con una Serie a través de la columna serie_id.

Espero que esta explicación te haya aclarado el concepto de llave foránea y cómo se está manejando en tu código. ¡Espero haber ayudado y buenos estudios!

solución!

Gracias por responder mi duda