hibernate 日志级别是否有一种简单的方法来查看何时使用第一个缓存级别?

如果我正在执行以下hql请求:“从Document d左连接,则在其中d.id = 2的地方获取d.folder”;几次,在同一 session 中,将使用缓存吗?

谢谢

最佳答案

Hibernate L1缓存通过主键存储实体。这意味着,如果您使用load()get()加载相同的实体(我认为这也适用于诸如from Document d where d.id=2的简单查询),它将被缓存。

在您的情况下,查询会稍微复杂一些,您将不得不使用L2。不幸的是,没有记录器指示L1事件(至少不是documented),但是看到SQL查询就足够了。

也可以看看:

  • Caching with Hibernate + Spring - some Questions!
  • 10-06 05:15