Duvida sobre Hibernate com alteração de tabela no BD?

Galera, eh o seguinte.

Uso NetBeans7 e to começando a trabalhar com Hibernate, e tenho uma dúvida acho q simples de resolver.
Eu ja tenho todos os arquivos necessários para trabalhar com o hibernate: “hibernate.cfg, hibernate.reveng, hibernateutil.java”, e está funcionando normalmente, tenho uma tabela no BD chamada de Clientes, nessa tabela tenho 3 campos: Id, Nome, Endereco,…fiz essa tabela apenas pra teste e ja tenho os arquivos “Clientes.hbm.xml, Clientes.java”.
Consigo inserir e consultar usando o hibernate normalmente, usando os set e os get da classe Clientes.java.

Minha dúvida é.
1 - Se eu colocar mais um campo nessa tabela, por exemplo, “cep”, como eu faço pra reconstruir Clientes.hbm.xml e Clientes.java automaticamente ???
2 - Qdo eu colocar mais tabelas, como por exemplo “produtos” como eu faço para fazer o mapeamento automatico e ja gerar o novo hbm e .java da classe produtos sem ter q editar os arquivos .xml de configuração ???

desde ja, obrigado.

Boa tarde Fernando,

Vamos as respostas:

  1. No Netbeans 6.9.1, vá em “Arquivo”, “Novo Arquivo”. Dentro de “Categorias” vai aparecer a opção “Hibernate”. Clique nessa opção e vai aparecer na janela do lado direito as opções disponíveis, dentre elas existe uma chamada “Arquivos de Mapeamento do Hibernate e POJOs de banco de dados”. Estou partindo do princípio que você instalou o plugin do Hibernate para o Netbenas. Se não o fez, essas opções não vão ser exibidas.
    Outro detalhe importante é que você vai precisar regerar os arquivos (é mais seguro para evitar erros de compilação), ou seja, criar um novo como do zero, seria uma nova versão.

  2. No Netbeans, siga os passos acima e também vai aparecer a opção “Assistente para Mapeamento de Hibernate”. Se você conhece bem de relacionamento provavelmente não vai encontrar dificuldades, mas recomendo uma leitura do manual do Hibernate para saber as opções disponíveis de relacionamento no Hibernate. Dessa forma, você não vai ter dificuldade de entender o seu funcionamento no Netbeans.

Observação: Eu trabalho com Eclipse e Netbeans mas nunca usei esses recursos em nenhuma dessas ferramentas. Quando usei, não gostei do resultado, então prefiro fazer manualmente. É difícil, mas faço dessa forma para também dominar os comandos do Hibernate utilizados nos arquivos hbm.xml.

Sérgio

Opa Sergio, obrigado pela atenção…

Seguinte, como falei antes eu ja tenho o Hibernate funcionando com o NetBeans, e fiz teste com uma tabela no banco chamada Clientes, gerei os arquivos de engenharia reversa, pojos etc…Mas o que quero saber eh se no caso de eu ter uma tabela mapeada e ir la e colocar um outro campo nessa tabela, como fazer para que o Hibernate reconheça esse novo campo e refaça a Classe.java com os get/set e o hbm.xml.

Pelo que entendi do que vc flw, eu preciso apagar todos arquivos e refaze-los do zero menos o Hibernate.cfg e o Util ???

novamente obrigado.

Fernando,

Eu não removo o arquivo, eu removo o conteúdo daquilo que sofreu alteração.
Por exemplo:
Quando eu adiciono um campo/atributo à minha tabela eu preciso atualizar o meu POJO e o hbm.xml. No caso do POJO, o que faço é remover todos os GETs e SETs do arquivo, adiciono o meu novo atributo manualmente e gero novamente os GETs e SETs com esse novo atributo. Não há nenhum problema em você gerar cada atributo individualmente a medida que sua tabela sofre alterações, mas o código acaba ficando confuso e eu prefiro colocar as coisas mais organizadas, como por exemplo, criar os GETs e SETs na ordem em que os atributos estão na tabela.

Também já me deparei com casos em que a geração parcial do GET e SET de um novo atributo ocasionou erro na execução do programa e gastamos muito tempo para descobrir onde estava o problema. A partir da identificação deste problema, passamos a fazer a geração total dos GETs e dos SETs nos arquivos POJO.

À medida que você for trabalhando com o Hibernate, você vai perceber que as ferramentas, dependendo da situação, nem sempre trabalham 100% na construção do seu aplicativo, então vai precisar adotar algumas medidas ou vai ficar gastando tempo para identificar onde está o problema. Recomendo que você construa os arquivos POJO e hbm.xml manualmente no início e depois faça uso das ferramentas disponíveis. Você vai poder perceber qual a melhor opção a ser adotada no momento do desenvolvimento da sua aplicação. Vão existir situações em que a intervenção manual é melhor e mais rápida do que o uso de ferramentas para atualizar os seus arquivos POJO e hbm.xml.

Sérgio

Opa Sergio, entendi mais ou menos, vou fazer testes e mais testes pra entender isso antes de entrar em produção…

muito obrigado novamente.

Fernando Paiva,

Você conseguiu solucionar esse seu problema?

Abs
Fabio Vilas Boas