Hibernate gera overhead?

Numa aplicação em rede local acessada por poucas (centenas) de usuários, o Hibernate me parece ser uma boa escolha.

Minha dúvida é, numa aplicação WEB acessada por milhares de pessoas simultaneamente, o Hibernate geraria uma lentidão na camada de dados? Em caso afirmativo, vale a pena utilizá-lo assim mesmo, ou seria mais prático e (rápido) usar SQL’s simples (Statement’s e PreparedStatement’s) para manipular as tabelas do banco?

Obviamente qualquer camada de abstracao vai gerar processamento extra, agora se isso eh excessivo, creio que nao(Obviamente, desde que a ferramenta esteja sendo usada adequadamente).

Creio que nao ha uma resposta generica para essa pergunta, sendo necessaria a analise de cada caso, uma vez que a interacao com o banco de dados de cada APP eh particular.

Ja vi gente reclamando e ja vi gente que usa com sucesso, entao acho que a resposta eh a que vc nao gostaria de ler aqui: “Depende”.

Provavelmente usar JDBC diretamente seria mais rapido em termos de processamento(novamente, desde que usado adequadamente) POREM tem seu alto custo em produtividade, pois isso o Hibernate ganhou tanta popularidade/aceitacao.

Att

Hibernate (ou JPA) gera sim um pouco de overhead. Vc tem que saber escolher onde o como usar um ou outro. Vc não precisa usar apenas um dos dois.

Veja um exemplo no mundo EBJ:
http://openejb.apache.org/examples-trunk/injection-of-datasource/
http://openejb.apache.org/examples-trunk/jpa-hibernate/

Os links acima são exemplos da mesma aplicação. Note que vc pode usar JDBC e ainda ter o servidor cuidando das transações por vc.

Seria interessante um aplicativo que testasse seu sistema enviando centenas/milhares de solicitações, e você pudesse ir aumentando a quantidade de requisições para analisar o tráfego.

Vou ler um pouco mais e continuar na batalha.

Obrigado a todos.

Rapaz,

Procure por stress test que voce achara varias ferramentas que podem te ajudar nisso.

Uma dificuldade que voce encontrara sera apenas isolar a performance de cada camada da sua APP, talvez com alguns loggers isso ja seja possivel, mas pode ficar um pouco mais complicado dependendo do caso.

De qualquer forma sugiro que voce baixe uma ferramenta dessas ao menos pra testar e ver se ela te prove as respostas que vc busca.

Abs

[quote=javadalberto]Seria interessante um aplicativo que testasse seu sistema enviando centenas/milhares de solicitações, e você pudesse ir aumentando a quantidade de requisições para analisar o tráfego.

Vou ler um pouco mais e continuar na batalha.

Obrigado a todos.[/quote]Use o JMeter.