查询何时会命中JPA 1级缓存,查询何时会绕过缓存

时间:2018-10-29 08:42:04

标签: java hibernate jpa spring-data first-level-cache

很明显,默认情况下,当我们执行entityManager.find(Post.class, 1L);时,将检索Post的{​​{1}}实例并将其放置在一级缓存中,然后再次执行相同的操作id=1在同一事务中,发布实例将直接从一级缓存返回,而无需查询数据库。

我的问题如下:

仅当我们尝试通过id获取实体时才检查一级缓存 执行entityManager.find(Post.class, 1L);方法?我的意思是,如果我们通过ID以外的其他属性(例如,entityManager.find(...);使用条件查询按名称提取帖子?还是要检查一级缓存吗?

通过Postid = 1native query查询同一行怎么办? JPA / Hibernate是否解析jpqlspring data query method查询以便找出一级缓存中是否存在相应的实体?

0 个答案:

没有答案