Eu realmente quero saber mais sobre a atualização, exportação e os valores que poderiam ser dados ao hibernate.hbm2ddl.auto
Eu preciso saber quando usar a atualização e quando não? E qual é a alternativa?
Estas são mudanças que podem acontecer sobre o DB:
Em cada caso, qual é a melhor solução?
A partir da documentação da comunidade:
hibernate.hbm2ddl.auto Valida ou exporta automaticamente o esquema DDL para a base de dados quando a SessionFactory é criada. Com create-drop, o esquema do banco de dados será abandonado quando a SessionFactory for fechada explicitamente.
e.g. validar | actualizar | criar | criar- largar
Portanto, a lista de opções possíveis é,
Estas opções parecem ser ferramentas de desenvolvimento e não para facilitar qualquer banco de dados de nível de produção, você pode querer dar uma olhada na seguinte pergunta; Hibernate: hbm2ddl.auto=update in production?
A propriedade de configuração é chamada hibernate.hbm2ddl.auto
.
Em nosso ambiente de desenvolvimento nós definimos hibernate.hbm2ddl.auto=create-drop
para cair e criar uma base de dados limpa cada vez que implantamos, para que nossa base de dados esteja em um estado conhecido.
Em teoria, você pode definir hibernate.hbm2ddl.auto=update
para atualizar sua base de dados com alterações no seu modelo, mas eu não confiaria nisso em uma base de dados de produção. Uma versão anterior da documentação dizia que isto era experimental, pelo menos; eu não sei o status atual.
Portanto, para a nossa base de dados de produção, não definir hibernate.hbm2ddl.auto
- o padrão é não fazer alterações na base de dados. Ao invés disso, nós criamos manualmente um script de atualização SQL DDL que aplica alterações de uma versão para a próxima.