Olá! Estou com uma pequena dúvida! Tenho o seguinte Enum:
public enum TipoLocacao {
PEQ(1),
MED(2),
GRD(3),
PESADO(4),
LATARIA(5),
RADIADOR(6),
ESCAPAMENTO(7),
PARA_CHOQUE(8),
PALHETA(9);
private Integer tipo;
TipoLocacao(Integer tipo) {
this.tipo = tipo;
}
public Integer getTipo() {
return this.tipo;
}
}
O usuário seleciona esse Tipo em um combobox e salva o Integer da constate no banco de dados.
Mas quando tento recuperar esse valor, ele vem com o número, que está correto já que salvei o número.
Gostaria de saber se consigo através do número salvo no banco, referenciar a constante da minha Enum.
Segue meu método de persistência (Estou usando JDBC não estou usando JPA) :
public List<Locacao> seleciona() throws Exception {
List<Locacao> locacoes = new ArrayList<>();
Connection conn = manager.open();
@SuppressWarnings("deprecation")
Locacao loc = new Locacao();
String sql = "SELECT * FROM LOCACAO";
try (PreparedStatement stmt = conn.prepareStatement(sql)) {
try (ResultSet rs = stmt.executeQuery()) {
while (rs.next()) {
loc.setId(rs.getInt("ID"));
loc.setAltura(rs.getDouble("ALTURA"));
loc.setArea(rs.getString("AREA"));
loc.setLargura(rs.getDouble("LARGURA"));
loc.setLocal(rs.getString("LOCAL"));
loc.setPrateleira(rs.getString("PRATELEIRA"));
loc.setProfundidade(rs.getDouble("PROFUNDIDADE"));
loc.setRua(rs.getString("RUA"));
loc.setTipo(TipoLocacao.valueOf(rs.getString("TIPO")));
locacoes.add(loc);
}
}
}
return locacoes;
}
Não precisa mandar código pronto ( Mas Se tiver um exemplo agradeço). Apenas quero saber se tem algum método na Enum que posso utilizar para isso ou se preciso criar uma método que faça isso.
Desde já, Agradeço! Abraços!