鉴于Hibernate的所有智能以及它的各种缓存策略,我如何知道某个操作是否导致物理数据库命中或来自缓存?
答案 0 :(得分:4)
传统上,您将使用Hibernate内置缓存日志记录,并在开发期间进行一些分析,以调整整个事物,直到您获得预期的行为。要激活缓存日志记录,请更改日志级别,例如使用log4j.xml
:
<logger name="org.hibernate.cache">
<level value="DEBUG" />
</logger>
请注意,我不建议在生产平台上使用它(它可能非常冗长,因此可能会降低执行速度)。
有关详细信息,请参阅文档的Logging。
答案 1 :(得分:1)
Hibernate Statistics应该告诉您需要知道的所有内容:
使用: Hibernate: Use Hibernate Statistics When Optimizing Queries
答案 2 :(得分:0)
我不太确定,但我会尝试调高org.hibernate记录器的日志记录级别,看看是否记录了该信息(最有可能是“调试”或更低级别)。