E adiciono no banco de dados com @Enumerated(EnumType.STRING).
Problema é que quando eu retorno uma lista e boto na Query um “order by” o enum, ele ordena como se fosse String (ABERTO, CANCELADO, CONCLUIDO E EM ANDAMENTO).
O que gostaria de saber é se tem como ele ordenar pela ordem da enum?
Ou você salva como número no db, ou então você salva em um outro campo o valor numero e manda orderby nele.
Um outro modo mais gambiarra que eu imagino seria fazer um case sobre esse campo e mandar um order by nele.
shadowzaum
É, o metodo vai ser salvar com Enumerated ORDINAL mesmo, criar outra coluna pra isso vai ser meio gambita mesmo, pelo menos na minha aplicação.
O “problema” vai ser mudar isso em produção, o que não é um problema real, só vai dar mais trabalho na hora de atualizar o sistema.
Valeu ai pela ajuda.
Hebert_Coelho
shadowzaum:
É, o metodo vai ser salvar com Enumerated ORDINAL mesmo, criar outra coluna pra isso vai ser meio gambita mesmo, pelo menos na minha aplicação.
O “problema” vai ser mudar isso em produção, o que não é um problema real, só vai dar mais trabalho na hora de atualizar o sistema.
Valeu ai pela ajuda.
Uma coisa que você pode fazer e não influenciar no banco de dados é criar um comparator e depois de buscar os dados no DB ordenar a lista de acordo com o comparator. [=
shadowzaum
Mas em questão de performance depois? Pois o sistema é um sistema de abertura de chamados e o numero de registros só tende a crescer. A maquina que ele ta instalado não é uma das melhores, até porque não precisa.
Mas o que eu realmente fico com medo é isso, questão de performance, porque vai ser uma area que os usuarios (tanto o pessoal do suporte, quanto clientes) vão estar usando direto.