Hibernate hbm2ddl.auto update

7 respostas
P

é possível confiar totalmente?

digo em relação aos relacionamentos e constraints que são criados… serão alterados?

7 Respostas

P

alguém já passou por essa situação?
ninguém utiliza?

idev4web

Eu uso o Eclipse para criar meus relacionamentos.

Ele criar as entidades corretamente anotadas.

Mas, eu gosto de desabilitar essa opcao para nao ficar aparecendo colunas fantasmas nas minhas tabelas do banco.

Lavieri

idev4web:
Eu uso o Eclipse para criar meus relacionamentos.

Ele criar as entidades corretamente anotadas.

Mas, eu gosto de desabilitar essa opcao para nao ficar aparecendo colunas fantasmas nas minhas tabelas do banco.

NOT TRUE!

ele não faz corretamente não, principalmenteo o do eclipse… algumas coisas que são 1-1 ele cria 1-N … ou o contrario…

qualquer mapeamento 1% complexo ja desanda tudo… isso é apenas um start, pra vc ler, tentar entender, e dar o pontape inicial… não confie nisso n

por exemplo… tente fazer uma tabela assim…

Estado

  • id
  • nome
  • capital_id (onde capital ID é uma FK da lista de cidades)

Cidade

  • id
  • nome
  • estado_id (onde estado ID é uma FK da lista de estados)

ou seja… estado deve ser mapeado assim

Estado Long id String nome Cidade capital List<Cidade> cidades

e Cidade assim

Cidade Long id String nome Estado estado

tenta ver como o plug-in vai mapear isso

P

meu problema é quando depois de toda a base criada e preenchida houver uma “mudança grande”… por exemplo: algum relacionamento, nome de colunas renomeados, colunas deletadas…

Dependendo de como os atributos estiverem mapeados, o hibernate cria algumas constraint no banco…

Queria saber qual a experiência de vcs com isso? Se vcs utilizam sem problema nesses casos? Ou se utilizam scripts de atualização criados manualmente?

Lavieri

se ele não faz a eng. reversa bem, duvido que va atualizar corretamente as classes, eu não usaria…

mas nunca utilizei

alem de não acreditar que o banco de dados seja algo mutavel, sem planejamento previo… e se vai planejar da pra atualizar as entidades tb

idev4web

É verdade, eu lembrei que no final eu tenho fazer alguns ajuste no mapeamento do eclipse. Mas sem duvida ele faz a maior parte do trabalho :slight_smile:

ralphsilver

Concordo.

A criação automática de tabelas é apenas um passo inicial de um projeto, ou seja, para não ter dor de cabeça. Mas depois que ocorre alguma alteração, não fica viável utilizá-la, porque muitas vezes ele não consegue apagar o que tem que apagar e acaba deixando lixo nos relacionamentos.

Criado 24 de abril de 2009
Ultima resposta 15 de mai. de 2009
Respostas 7
Participantes 4