我们刚刚开始使用Hibernate,并且仍在习惯它的工作方式。如何在会话关闭后强制hibernate释放内存?
我们已经看到的事情是,即使在所有会话关闭并且引用已经超出范围之后,hibernate仍然似乎将之前使用的数据库值保留在其缓存中。
我们有从多组表中读取多次的代码。因为所有的内存都非常节制地释放,所以后来传递的速度变慢了。
有什么办法强制Hibernate清除它的缓存吗?
对System.gc()的显式调用没有帮助。 (是的,我知道这是一个建议)
附加信息:我们明确地禁用了二级缓存。
我假设你不使用Hibernate的二级缓存呢?您使用什么策略进行会话管理? “会话每线程”? – 2009-05-29 22:14:57
我们使用的是session-per-thread,并且我们已经明确地禁用了二级缓存 – StudioEvoque 2009-05-30 18:31:57