Vamos migrar um sistema de um cliente para Java usando Struts + HIbernate.
Eles possuem banco Oracle, e muitas tabelas, com muitas chaves compostas, o que vai dificultar um pouco o mapeamento.
Então gostaria saber da opinião de vocês, se vale a pena ou não (em relacao ao hibernate).
Tivemos uma experiencia boa com Struts e Hibernate, mas nós criamos o banco e colocamos somente chave única.
Obrigado a quem puder palpitar e dar umas dicas.
Existe um plugin pra Eclipse chamado Hibernate Shyncronizer que já faz o mapeamento do banco criando os respectivos hbm.xml , mas não sei como ele se comporta com chaves compostas…pq vc não experimenta usá-lo? Lembro-me que ele não gera corretamente mapeamentos do tipo N pra N, mas não custa nada verificar que “decisões” o plugin toma…
Hibernate Synchronizer
http://www.binamics.com/hibernatesync/
Abraços,
Silvio Luiz
Valeu, vou experimentar.
Mas em relação a rendimento, posso usar o hibernate sossegado?
Rpz…
Só tenha cuidado com uma coisa…procure entender o que é lazy(que é um atributo de uma tag <set> por exemplo, que vc usa para mapear o relacionamento determinando a collection específica a que se refere)… Por default quando você cria o arquivo de mapeamento pelo plugin , ele deixa a opção default( que é lazy=false) , o que faz com que ele percorra por reflexão todas as classes relacionadas a ela ! Ou seja, se você quiser persistir retornar um objeto Pais, ele vai buscar sua coleção de Estados, sendo que cada Estado possui municipio, todo municipio possui bairros, e pessoa, empresa , cliente, todos apontam para um endereço; Todos essas classes precisam existir! Isso é custoso…mas com lazy=true você resolve este problema ,e cria outro…no caso, se vc estiver usando apenas estado, e em algum momento precisar de municipio, vc tera q abrir outra session do hibernate na hora que for usar um metodo como estado.getMunicipios, antes da chamada, para não gerar uma LazyInitializingException(acho que é isso). É uma questão a se avaliar…