【发布时间】:2015-10-09 21:07:33
【问题描述】:
据我了解,二级缓存在使用其主键查找实体时很有用。
但是将它用于不基于主键的查询有什么意义吗?例如:
SELECT p FROM Person p WHERE p.age > 18
如果查询缓存NO打开,L2 缓存还有用吗?
【问题讨论】:
标签: hibernate caching second-level-cache query-cache
据我了解,二级缓存在使用其主键查找实体时很有用。
但是将它用于不基于主键的查询有什么意义吗?例如:
SELECT p FROM Person p WHERE p.age > 18
如果查询缓存NO打开,L2 缓存还有用吗?
【问题讨论】:
标签: hibernate caching second-level-cache query-cache
不,在这种情况下它没有任何用处。 L2 缓存用于通过 ID 获取实体,或在 OneToOne 和 ManyToOne 关联中导航(这也会导致实体通过其 ID 加载,除非引用的列不是 PK)。
【讨论】: