Hey,
As new as I am to Hibernate, I asked myself the same question. Anyways, I was wondering what you meant by "letting hibernate cache". I see that there are two types of cache, first level and second level, both of which seem to have their own different use.
I think that the First level is available by default associated with the session and this saves the number of transactions by updating only at the end of a transaction.
The second level is what I have been exploring as it works at the Session Factory level binding to the application and not to a particular user. I used EHCACHE initially to see how much it can help but I found 2nd level cache is of not much use in my case as fine tuning my HQL queries and optimizing the logic did most of the job and so avoided 2nd level cache all together.
A quick googling on "improving performance using hibernate cache" would take you to very decent articles that will explain why and when
you should be using hibernate cache.
-Cheers
Rama