Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Ordem de criação das colunas no banco de dados

Galera, alguém sabe se é possível mudar a ordem que o JPA cria as colunas no banco de dados?

Ex: Na minha entidade costumo criar em uma ordem lógica que faz mais sentido, agrupando os campos relacionados. Mas quando o JPA cria o esquema do banco de dados, ele coloca as colunas em ordem alfabética...

Alguém sabe como alterar esse comportamento? Gostaria que as colunas ficassem mesma ordem que os atributos da classe.

Obrigado!

3 respostas
solução!

Olá Bodão, tudo bem?

Isto é o comportamento padrão e a justificativa dada é dada pelo Hibernate aqui.

Eles dizem que é para garantir a ordem em todos os lugares uma vez que a JVM não garante a ordem que os métodos serão chamados.

Aparentemente não tem como mudar este comportamento :-(

Uma forma meio gambi de passar por este problema seria renomear as colunas de forma que fizessem sentido no seu agrupamento na ordem alfabética mas é meio triste.

Abraço!

Joviane, obrigado pela resposta.

Mas isso é muito chato hein? Me parece tão simples ter alguma classe de "estratégia" para ordernar da forma desejada. Como você particularmente resolve isso? Ou apenas convive com essa situação?

Obrigado!

Neste caso acho que o ideal é gerar a base na mão mesmo para garantir a ordenação das colunas.

É chato sim mas realmente os providers da JPA não tem o que fazer pois a própria JVM não garante a ordenação. Acredito até que foi uma boa decisão gerar em ordem alfabética para não correr o risco de gerar numa ordem aleatória todas as vezes.