知道何时达到数据库与缓存

时间:2010-02-19 03:23:31

标签: java hibernate orm

鉴于Hibernate的所有智能以及它的各种缓存策略,我如何知道某个操作是否导致物理数据库命中或来自缓存?

3 个答案:

答案 0 :(得分:4)

传统上,您将使用Hibernate内置缓存日志记录,并在开发期间进行一些分析,以调整整个事物,直到您获得预期的行为。要激活缓存日志记录,请更改日志级别,例如使用log4j.xml

<logger name="org.hibernate.cache">
   <level value="DEBUG" />
</logger>

请注意,我建议在生产平台上使用它(它可能非常冗长,因此可能会降低执行速度)。

有关详细信息,请参阅文档的Logging

答案 1 :(得分:1)

Hibernate Statistics应该告诉您需要知道的所有内容:

启用: Hibernate Core Reference

使用: Hibernate: Use Hibernate Statistics When Optimizing Queries

API: org.hibernate.stat.Statistics

答案 2 :(得分:0)

我不太确定,但我会尝试调高org.hibernate记录器的日志记录级别,看看是否记录了该信息(最有可能是“调试”或更低级别)。