Ir ao conteúdo
  • Cadastre-se

Usando enum em java


Posts recomendados

Se o projeto for pequeno ou você está aprendendo, usar hibernate é como dar um tiro de canhão em formiga.

 

Simplifique as coisas.

 

Para gravar o valor do enum em banco, você pode simplesmente usar o ordinal dele. No seu caso, 0 masculino e 1 feminino.

 

E para escrever o valor no SQL, apenas repasse como valor

//Onde getSexo() devolve um Enum do tipo sexo
cliente.getSexo().ordinal();

 

Para recuperar esses dados do banco, é simples: faça um parser do valor que vem do banco para mapear o seu Enum.

 

public Enum sexo {
	MASCULINO, FEMININO;
  
public static sexo parseSQL(int valorDoBanco) {
        try {
            return values()[valorDoBanco];
        } catch (Exception e) {
            return values()[0];
        }
    }
  
}

Assim, quando você está lendo um ResultSet e populando o objeto de dados, quando chegar na hora de ler o Enum, faça assim:

 

//rs é o nome da variável para um ResultSet contendo sua lista com a consulta SQL
cliente.setSexo(sexo.parseSQL(rs.getInt("sexo")));

//Onde no objeto cliente, sexo é uma variável do tipo sexo (Enum)

Resolvido.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

7 minutos atrás, TwistedSoul disse:

Se o projeto for pequeno ou você está aprendendo, usar hibernate é como dar um tiro de canhão em formiga.

 

Para quem está "aprendendo" eu até faço um esforço para concordar com você, mas falar que usar hibernate é exagero para projetos "pequenos" é uma opinião difícil de sustentar.

 

Indiferente ao tamanho do projeto, JPA não é apenas selects no banco, é uma API responsável por todas as atividades relativas ao mapeamento objeto-relacional.

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

35 minutos atrás, Cweiler disse:

 

Para quem está "aprendendo" eu até faço um esforço para concordar com você, mas falar que usar hibernate é exagero para projetos "pequenos" é uma opinião difícil de sustentar.

 

Indiferente ao tamanho do projeto, JPA não é apenas selects no banco, é uma API responsável por todas as atividades relativas ao mapeamento objeto-relacional.

 

Concordo, mas existe vida sem hibernate. Existem diversas outras soluções de ORM. Hibernate pode ser "grande e desengonçado" dependendo do que será feito. O JPA não é indicado para qualquer tipo de projeto. 

 

O próprio Spring também poderia ser usado.

 

Aqui onde trabalho o framework todo foi desenvolvido "in house". Temos controle total de tudo que acontece, não se depende de terceiros para corrigir um bug e com certeza é bem mais simples que o hibernate (operamos com cache e persistência também).

 

Hibernate é ruim? Claro que não. É bom conhecer a ferramenta até mesmo para questão de currículo e busca de empregos decentes mas ele não é a resposta pra tudo.

 

Se você não é um desenvolvedor profissional, ou seja, se não conhece intimamente a linguagem e não sabe como utilizar seus recursos, cair de cabeça em cima de um framework vai gerar mais problemas do que resolvê-los.

 

Abração

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...