eu tenho uma classe season (temporada) e uma classe episode (episodio). a classe season tem uma lista de episodios, porem ao tentar adicionar um episodio novo, ele acaba inserindo inifinitas vezes o mesmo episodio.
CLASSE SEASON
package com.br.suits.models;
import jakarta.persistence.*;
import java.util.List;
@Entity
@Table(name = "tb_season")
public class Season {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String sinopse;
@OneToMany(mappedBy = "season", cascade = CascadeType.ALL)
private List<Episode> episodes;
public Season(Long id, String sinopse) {
this.id = id;
this.sinopse = sinopse;
}
public Season() {
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getSinopse() {
return sinopse;
}
public void setSinopse(String sinopse) {
this.sinopse = sinopse;
}
public List<Episode> getEpisodes() {
return episodes;
}
public void setEpisodes(List<Episode> episodes) {
this.episodes = episodes;
}
}
CLASSE EPISODE
package com.br.suits.models;
import jakarta.persistence.*;
@Entity
@Table(name = "tb_episode")
public class Episode {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String title;
private String description;
@ManyToOne
@JoinColumn(name = "season_id", referencedColumnName = "id")
private Season season;
public Episode(Long id, String title, String description, Season season) {
this.id = id;
this.title = title;
this.description = description;
this.season = season;
}
public Episode() {
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public Season getSeason() {
return season;
}
public void setSeason(Season season) {
this.season = season;
}
}
comando para adicionar novo ep via sql
-- 1. Inserir um registro na tabela tb_episode com os detalhes do primeiro episódio
INSERT INTO tb_episode (title, description, season_id)
VALUES ('Pilot', 'No episódio piloto, Mike Ross conhece Harvey Specter e é contratado para trabalhar na Pearson Hardman.', 1);
resultado de /season e /episode: