Estou desenvolvendo um sistema usando o Hibernate e reparei que ela está meio lento…
Se comparar com JDBC somente ele é bem mais lento mesmo…
Ai estava pensando… será o Hibernate uma boa pedida???
Pq isso pode ser um fator negativo neh…
O que acham?
Acredito que vc não esteja utilizando corretamente.
Como você está tratando as sessões?
andre_a_s
Eu desenvolvi com base de algum material que vi aqui no GUJ, algumas coisas que peguei no portal do Hibernate tbm…
Mas quando eu digo que é lento é assim…
Quando vou inserir algum registro no banco, preciso instanciar a classe DAO
Nessa hora percebo que ele demora um pouco, pois ele precisa mapear o XML e tal… não está muuuuito lento, mas comparado com JDBC normal está…
Se ficar acompanhando o console poderemos ver quanta coisa ele faz por trás…
Ele precisa mapear o XML, intrepretar o HQL, procurar os gets and sets… por isso digo que ele fica lento…
_fs
Entre no fórum do Hibernate.org que há várias dicas e erros comuns que podem deixar sua aplicação lenta.
Além de deixarem bem claro que testes “burros” (executar um parametro x vezes, medindo tempo com System.currentTimeMillis) não servem para avaliar a performance do Hibernate.
lcmetzger
Mostre o método insert de seu dao,
o problema pode estar ali.
pelo que eu entendi, o problema parece que é por que você esta criando sempre uma nova instancia do dao, e por algum motivo desconhecido, esta inicializando a engine do hibernate toda vez que cria uma nova instancia do dao.
o melhor seria inicializar a session factory apenas uma vez para a aplicação toda, e criar apenas uma session para cada vez que tu precisar de um dao novo.
andre_a_s
Valeu urubatan e Lipe…
Vou seguir a instrução de vcs
E tbm estou com um problema… eu não consigo fazer um maldito Inner join!
como posso fazer isso no Hibernate?
O que preciso alterar no XML e em qual XML eu preciso alterar?
Seria no Mural.hbm.xml?
Eu tento executar a query(ja convertida pra HQL) e ele fala que não acha a propriedade “ms”
Como deve ficar esse inner join em HQL???
E eu deve colocar alguma coisa a mais na minha classe Mural.java?