A few thoughts to share:
1. There are performance tips at http://www.hibernate.org/hib_docs/v3/reference/en/html/performance.html#performance-fetching that could be helpful.
2. As per the above link, did you set "usage" to read only?
3. When you say that loading items from the cache is slower, do you mean for the first time access or for subsequent access (I assume you aren't including first time access when comparing performance).
4. In terms of tools, you could enable jdbc debug or set hibernate.show_sql=true and see if the database i/o meets your expectation.
Hope this helps,
Also, is your database server local or on a remote machine?