[quote=silvasantosh][quote=leandronsp][quote=josenaldo]Silva, falando desse jeito parece até que Java não serve pra Web e que as outras linguagens superam Java de longe. rsssrrsrs
Mas eu entendo. Já vi muita gente que realmente acredita nesse tipo de bobagem. Certa vez um dono de empresa me disse que fez o software dele em PHP, que não trabalha com Java porque Java não serve pra web, que é lento… Apenas por cortesia eu não disse que lento era ele que ainda estava em 2001.
Java é tão boa quanto outras tecnologias para a web. E, assim como em alguns casos, PHP e Ruby são melhores, em outros, Java ganha de lavada. Um exemplo muito bobo: até hoje não vi, em outras linguagens, um framework de persistência tão bom quanto hibernate ou de relatórios tão bom quanto o jasper reports.
PS: se alguém conhecer um framework de relatórios bom para PHP, por favor, me avisa. Alguém aí já trabalhou com Dcotrine? Zf-Boilerplate? e aí, o que achou?[/quote]
Apenas pra discussão e saber sua opinião: prefere Hibernate ao ActiveRecord?[/quote]
Leandro, tudo bem?
Sua pergunta foi direcionada para mim ou para o Josenaldo?
Eu não tenho uma preferência. Se tiver que escolher, vou analisar pontos como robustez, desempenho, consumo de memória, liberdade de programação, documentação, prazer e produtividade 
Abraço![/quote]
Foi para o josenaldo, mediante ao que ele mencionou o hibernate a outras soluções, mas bom que respondeu também 
A preferência neste caso é justamente após analisar estes pontos que você citou.
DESEMPENHO
Já tive alguns problemas com hibernate principalmente no quesito performance no banco. Quando algumas operações eram complexas e a base ia aumentando, penamos bastante para “tuná-lo”. Vai muito de saber usar a ferramenta também, mas mesmo assim se comparar com outras soluções ORM de outras linguagens (no caso AR ou DM do Ruby), acho que não muda muita coisa no quesito performance.
Sempre teremos esse overhead que os DBA’s tanto odeiam, afinal, uma coisa é executar coisas no banco a partir de uma modelagem orientada a objetos. Outra coisa é fazer as coisas nativas e customizá-las na base.
CONSUMO
Outro ponto é que analisar o consumo de memória vai da VM da linguagem também. No ruby temos o fator de que se consome muita memória. No Java também, mas se fizer um código bem feito que respeite a divisão de responsabilidades e que use objetos simples, dá pra melhorar bastante em qualquer linguagem. Contudo no Java eu acho que configurando bem a JVM e GC o ganho acaba sendo maior.
Mas sinceramente, no mundo de hoje em dia, eu vejo que memória e processamento é um dos menores problemas que poderíamos enfrentar. Se conseguir quebrar isso, tem que rever e muito todo o código do sistema.
Documentação, produtividade, liberdade e prazer, eu nunca encontrei algo igual usando ActiveRecord. Por isso fiz menção ao comentário do josenaldo, que disse que nisso o Hibernate ganha de lavada…acho que fica no pau-a-pau, e se colocar esses últimos pontos, acaba perdendo de lavada.