1
resposta

Faça como eu fiz: relacionando séries e episódios

@Entity
public class Serie {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    private String titulo;

    // Outros atributos...

    @OneToMany(mappedBy = "serie", cascade = CascadeType.ALL, orphanRemoval = true)
    private List<Episodio> episodios = new ArrayList<>();

    // Getters e Setters

    public void adicionarEpisodio(Episodio episodio) {
        episodio.setSerie(this);
        this.episodios.add(episodio);
    }

    // toString, equals, hashCode...
}



@Entity
public class Episodio {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    private Integer numero;

    private String titulo;

    private Integer temporada;

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

    // Getters e Setters
    public void setSerie(Serie serie) {
        this.serie = serie;
    }

    public Serie getSerie() {
        return serie;
    }

    // equals, hashCode, toString...
}


Serie serie = new Serie();
serie.setTitulo("Breaking Bad");

Episodio ep1 = new Episodio();
ep1.setTitulo("Pilot");
ep1.setNumero(1);
ep1.setTemporada(1);

serie.adicionarEpisodio(ep1);

entityManager.persist(serie); // Cascata salva também o episódio
1 resposta

Muito bem, Gabrielly