Ola, ví que existe uma forma de usar o enum direto, sem precisar tranformar ele em uma entidade e usando o cod como id, gostaria de saber qual a melhor prática, e por que escolher uma forma, segue o código:
public enum Categoria {
CELULAR(1, "Celular"),
INFORMATICA(2, "Informática"),
LIVROS(3, "Livros");
private Integer cod;
private String nome;
private Categoria(Integer cod, String nome) {
this.cod = cod;
this.nome = nome;
}
public Integer getCod() {
return cod;
}
public void setCod(Integer cod) {
this.cod = cod;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public static Categoria toEnum(Integer cod) {
if(cod == null) {
return null;
}
for(Categoria x : Categoria.values() ) {
if(x.getCod() == cod) {
return x;
}
}throw new IllegalArgumentException("Categoria inválida, cod: " + cod);
}
}