Falta pouco!

0 dias

0 horas

0 min

0 seg

Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Erro no código

import jakarta.persistence.*;
import java.util.ArrayList;
import java.util.List;

@Entity
public class Serie {

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

    private String titulo;

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

    public Long getId() { return id; }
    public void setTitulo(String titulo) { this.titulo = titulo; }
    public String getTitulo() { return titulo; }
    public List<Episodio> getEpisodios() { return episodios; }

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

@Entity
 Episodio {

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

    private Integer numero;
    private String titulo;
    private Integer temporada;

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

    public Long getId() { return id; }
    public Integer getNumero() { return numero; }
    public void setNumero(Integer numero) { this.numero = numero; }
    public String getTitulo() { return titulo; }
    public void setTitulo(String titulo) { this.titulo = titulo; }
    public Integer getTemporada() { return temporada; }
    public void setTemporada(Integer temporada) { this.temporada = temporada; }
    public Serie getSerie() { return serie; }
    public void setSerie(Serie serie) { this.serie = serie; }
}
1 resposta
solução!

Oii, André! Como vai?

O erro no seu código está na definição da classe Episodio.
Ela está anotada com @Entity, mas falta a palavra-chave class na declaração.

No trecho atual você tem:

@Entity
 Episodio {
    ...
}

Isso não é válido em Java. O correto é:

@Entity
public class Episodio {

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

    private Integer numero;
    private String titulo;
    private Integer temporada;

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

    public Long getId() { return id; }
    public Integer getNumero() { return numero; }
    public void setNumero(Integer numero) { this.numero = numero; }
    public String getTitulo() { return titulo; }
    public void setTitulo(String titulo) { this.titulo = titulo; }
    public Integer getTemporada() { return temporada; }
    public void setTemporada(Integer temporada) { this.temporada = temporada; }
    public Serie getSerie() { return serie; }
    public void setSerie(Serie serie) { this.serie = serie; }
}

Só ajustar que tudo fica certinho.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!