Oi pessoal
Ainda não uso o Hibernate, mas espero poder usá-lo! Surgiu-me as seguintes dúvidas:
O Hibernate é aplicável em qualquer tipo de aplicação? Quando justifica usá-lo e quando não é viável?!
Qual a opinião dos DBAs quanto ao Hibernate?! O DBA deve dar permissão ao desenvolvedor criar tabelas, e normalmente o DBA tem horror a isso!!!
Valeu!!!
Você só teria um impedimento ao uso do Hibernate se por acaso os DBAs da sua empresa não permitirem o uso de queries diretas (SELECT/INSERT/UPDATE/DELETE), permitindo apenas stored procedures. Vários lugares em que trabalhei funcionam assim, por razões de segurança, já que é possível atribuir permissões à stored procedure.
A relação entre DBAs e o Hibernate é péssima, pois IMHO DBAs estão perdendo bastante terreno atualmente. Alguns projetos que trabalhei onde os DBAs ficaram responsáveis pelo mapeamento OO->ER deu muitos problemas, pois os DBAs ficavam inventando histórias no mapeamento para fazer aquelas famosas justificativas: -"mas quando esse indice alcançar mais de 5 alocamentos de disco lá pelo ano de 2046 a performance ficará comprometida em 2 ms".
Se o sistema está baseado em stored procedures, realmente perdemos um ganho significativo no uso do hibernate, que é a independência de banco de dados. Associar perfis de segurança ao banco também não é uma boa idéia, mas acontece muito em inst. financeiras. Função do banco é guardar dados.
Nos meus últimos projetos, o hibernate tem caído como uma luva. Alguns com mais de 300 tabelas não tive problema algum. Nem precisamos mais de modelagem de dados tipo MER. Nossa visão dos dados acaba sendo as próprias classes. Um modelo de classes já nos é suficiente. Nem precisamos do MER, nem sentimos falta. Aliás, nem escrevemos os scripts de geração do DB. O schemaexport resolve.
Você faz o mapeamento do Hibernate e ele gera o banco para você, não importando se é SQLServer, Oracle, DB2, Derby, MYSQL. Ele gera pk, fk, relacionamentos…
É simplesmente “show de bola”. Fazer script de banco é um saco…
Tem um exemplo no estudo de caso da Hotmotors no site da ASPERCOM…
Legal esse projeto Hot Motors, é um bom exemplo de projeto ágil. Estamos implantando XP aqui na minha empresa, algo bem parecido com esse projeto. 5 estrelas.
O DBA daqui me pergunta “E aí, aprendeu a usar esse Hibernate?” umas duas vezes por semana. Quando não tem muita coisa pra fazer, ele fica observando os logs das consultas ao banco de dados e vê aquelas SQLs indecifráveis que o Hibernate gera. Daí, fica pensando que sou eu que não sabe usar.
[quote=ZehOliveira]O DBA daqui me pergunta “E aí, aprendeu a usar esse Hibernate?” umas duas vezes por semana. Quando não tem muita coisa pra fazer, ele fica observando os logs das consultas ao banco de dados e vê aquelas SQLs indecifráveis que o Hibernate gera. Daí, fica pensando que sou eu que não sabe usar.
:mrgreen:[/quote]
Quando agente manda o bixo formatar e colocar os comentários até que fica mais fácil de entender. Problema mesmo é quando ele começa a fazer joins, aí o cara se perde completamente na query :lol: