休眠对象未得到缓存

洛克希

在我们的应用程序中,我们已将Hibernate配置为与EHcache一起使用。目的是,一旦将对象加载到Cache中,除非更改了对象,否则不应每次都调用db调用。

为了对此进行测试,我正在调用对象并打印对象的identityhashcode[using call System.identityHashCode(this)]。而且我注意到identityhashcode对象在每次调用中都在变化,这使我们感到对象每次都在加载。

但是在日志中,我们看不到Hibernate对数据库进行任何sql调用。

如果我的测试正确与否,可以请人指导吗?

jpkrohling

有很多事情可以解释差异。同样,不命中数据库也可能意味着您正在从会话缓存(也就是第一级缓存)中获取对象。确保在一个会话中创建该对象,然后在另一个会话中检索该对象两次(第一个会话可能命中数据库,第二个则不应)。

理想的情况是询问Hibernate是否从缓存中检索了对象。最简单的方法是启用统计信息收集,然后打印命中/未命中:

Statistics stats = sessionFactory.getStatistics();
stats.setStatisticsEnabled(true);
... // do your work
long hitCount = stats.getQueryCacheHitCount();
long missCount = stats.getQueryCacheMissCount();

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

表单未得到验证

来自分类Dev

表单未得到验证

来自分类Dev

Adcolony代表未得到呼叫

来自分类Dev

矩阵导数未得到评估

来自分类Dev

全球价值未得到体现

来自分类Dev

矩阵导数未得到评估

来自分类Dev

GPO政策未得到应用

来自分类Dev

通用论据未得到执行

来自分类Dev

当会话缓存大对象时,休眠事务提交非常慢

来自分类Dev

Epplus导出错误,如下所示:'System.Data.DataSet'对象类型'System.Data.DataTable'未得到实物。

来自分类Dev

〜/ .vimrc中的更新未得到反映

来自分类Dev

GNU GAS:标签未得到相对引用

来自分类Dev

Angulartics GA事件未得到跟踪

来自分类Dev

在BeautifulSoup解析中未得到正确的响应

来自分类Dev

CSS更改未得到反映。为什么?

来自分类Dev

jQuery:单选按钮未得到检查

来自分类Dev

加特林请求未得到执行

来自分类Dev

IntentService内部的查询未得到执行

来自分类Dev

〜/ .vimrc中的更新未得到反映

来自分类Dev

Grub引导加载程序未得到修复

来自分类Dev

Java其他部分未得到执行

来自分类Dev

使用SHH时未得到正确的提示

来自分类Dev

Akka演员的状态未得到正确监控

来自分类Dev

在Javascript循环中未得到正确的结果

来自分类Dev

/ etc / sudoers规则未得到遵守

来自分类Dev

内部联接未得到预期的结果

来自分类Dev

Python:循环未得到期望的结果

来自分类Dev

CPTAxis委托方法未得到调用

来自分类Dev

休眠查询缓存失效