Olá,
alguém sabe qual o motivo desse erro?
Olá,
alguém sabe qual o motivo desse erro?
Olá André, tudo bem com você?
Esse erro está indicando que a entrada de dados está inválido, porque não existe uma constante na enumeração Status
, com o valor 0. Verifique a classe Status
para conferir se há uma enumeração para o valor 0; se quiser, você pode compartilhar o código do seu projeto e olhamos juntos!
Fico à disposição.
Um grande abraço e bons estudos!
Olá Arthur, obrigado pelo auxilio segue as classes , porem a DTO nem esta para mostras a informação Status (a que é ENUM)
Controller
@GetMapping public List listar(){ return repository.findAll().stream().map(ListarFornecedoresDTO::new).toList(); } }
DTO
package br.com.andre.sistema.models.dtos;
import br.com.andre.sistema.models.Fornecedor; import br.com.andre.sistema.models.enuns.Status;
public record ListarFornecedoresDTO(String cnpj, String ie, String email) {
public ListarFornecedoresDTO(Fornecedor fornecedor) {
this(fornecedor.getCnpj(),fornecedor.getIe(),fornecedor.getEmail());
} }
Model
package br.com.andre.sistema.models;
import java.io.Serializable; import java.util.Objects;
import br.com.andre.sistema.models.dtos.CadastroFornecedorDTO; import br.com.andre.sistema.models.enuns.Status; import jakarta.persistence.Embedded; import jakarta.persistence.Entity; import jakarta.persistence.EnumType; import jakarta.persistence.Enumerated; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import jakarta.persistence.MapsId; import jakarta.persistence.OneToOne; import jakarta.persistence.Table;
@Entity(name = "fornecedor") @Table(name = "fornecedores") public class Fornecedor implements Serializable { private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String cnpj;
private String ie;
private String email;
@Enumerated(EnumType.STRING)
private Status status;
@OneToOne
@MapsId
private Pessoa nome;
@Embedded
private Endereco endereco;
public Fornecedor() {
}
public Fornecedor(Long id, String cnpj, String ie, String email, Status status, Pessoa nome, Endereco endereco) {
super();
this.id = id;
this.cnpj = cnpj;
this.ie = ie;
this.email = email;
this.status = status;
this.nome = nome;
this.endereco = endereco;
}
public Fornecedor(CadastroFornecedorDTO fornecedor) {
this.cnpj = fornecedor.cnpj();
this.ie = fornecedor.ie();
this.email = fornecedor.email();
this.status = fornecedor.status();
this.nome = new Pessoa(fornecedor.pessoa());
this.endereco = new Endereco(fornecedor.endereco());
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getCnpj() {
return cnpj;
}
public void setCnpj(String cnpj) {
this.cnpj = cnpj;
}
public String getIe() {
return ie;
}
public void setIe(String ie) {
this.ie = ie;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public Status getStatus() {
return status;
}
public void setStatus(Status status) {
this.status = status;
}
public Pessoa getNome() {
return nome;
}
public void setNome(Pessoa nome) {
this.nome = nome;
}
@Override
public int hashCode() {
return Objects.hash(cnpj, id);
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Fornecedor other = (Fornecedor) obj;
return Objects.equals(cnpj, other.cnpj) && Objects.equals(id, other.id);
}
}
acabei de descobrir!
por algum motivo desconhecido, no banco de dados o campo Status gravou o numero zero!