什么时候hibernate使用它的第一级缓存?如何登录?

Que*_*tin 5 logging caching hibernate

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

如果我正在执行以下hql请求:"从Document d left join fetch d.folder,其中d.id = 2"; 有几次,在同一个会话中,是否会使用缓存?

谢谢

Tom*_*icz 2

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

在你的情况下,查询有点复杂,你必须使用 L2。不幸的是,没有记录器指示 L1 活动(至少没有记录),但看到 SQL 查询就足够了。

也可以看看: