This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
I am working on a project that uses hibernate but we are having lot of issues in performance due to hibernate. Some of the members of my group are convinced that hibernate is no good and only results in an extra level of complexity, they think it is better to go with normal jdbc code.
What do you guys think, can or should hibernate be avoided? Do you have any similar experience working with hibernate.
Poorly implemented Hibernate performs badly. Well implemented (and suitably tuned) Hibernate performs quite well. For example, straight JDBC does not hit any of the caches available to Hibernate. Hibernate will generate some SQL that it is relatively easy to see could be optimized, most of which can be tuned by tuning queries and mappings. Where this is a real headache (and you'll only know this if you've profiled the SQL) you can use direct SQL from Hibernate.
Do your colleagues have any concrete reasons to point the finger at Hibernate? There is no point doing anything with regards to performance changes without a definite reason.