Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

No enum constant com.compass.apirest.modelo.Regioes.Norte

Estou fazendo um com o tema de regiões o está apresentado o erro citado no assunto, oque pode estar errado ?

@Entity
@Table(name = "ESTADOS")
public class Estado {

    @Id @GeneratedValue(strategy = GenerationType.IDENTITY)
    private int id;
    private String nome;
    @Enumerated(EnumType.STRING)
    private Regioes regiao;
    private long populacao;
    private String capital;
    private double area;

    public Estado() {
    }

    public Estado(String nome, Regioes regiao, long populacao, String capital, double area) {
        this.nome = nome;
        this.regiao = regiao;
        this.populacao = populacao;
        this.capital = capital;
        this.area = area;
    }

    public int getId() {
        return id;
    }
    public String getNome() {
        return nome;
    }
    public Regioes getRegiao() {
        return regiao;
    }
    public long getPopulacao() {
        return populacao;
    }
    public String getCapital() {
        return capital;
    }
    public double getArea() {
        return area;
    }



}
public class EstadoDto {

    private int id;
    private String nome;
    private Regioes regiao;
    private long populacao;
    private String capital;
    private double area;

    public EstadoDto() {

    }

    public EstadoDto(Estado estado) {
        this.id = estado.getId();
        this.nome = estado.getNome();
        this.regiao = estado.getRegiao();
        this.populacao = estado.getPopulacao();
        this.capital = estado.getCapital();
        this.area = estado.getArea();
    }

    public static List<EstadoDto> converter(List<Estado> estados) {
        return estados.stream().map(EstadoDto::new).collect(Collectors.toList());
    }

    public int getId() {
        return id;
    }

    public String getNome() {
        return nome;
    }

    public Regioes getRegiao() {
        return regiao;
    }

    public long getPopulacao() {
        return populacao;
    }

    public String getCapital() {
        return capital;
    }

    public double getArea() {
        return area;
    }

}
public enum Regioes {

    NORTE,
    NORDESTE,
    CENTRO_OESTE,
    SUL,
    SUDESTE;

}
2 respostas
solução!

Oi Michael,

O erro é na hora de cadastrar? Pode ser que a região esteja sendo enviada assim: Norte, mas ela deve ter o mesmo nome da constante, ou seja, deve vir como o nome em maiúsculo: NORTE.

O problema era esse mesmo, não sabia que o banco de dados e o enum tinham esse sensibilidade de caracteres!