【发布时间】:2017-07-22 16:49:24
【问题描述】:
是否可以手动添加键到 Hibernate 查询缓存的映射?
请看下面我的推理:
我有一个查询如下:
from UserTable as u where u.username="Dan" and password="123456"
结果查询返回一个 id 为 3 的用户。
第一个查询只执行一次,并加载到查询缓存中。
现在,当第一个结果被缓存时,我发出以下查询
from UserTable as u where u.id=3
这将返回相同的用户,但正如我从各个站点like so 了解到的那样,查询将被缓存完全视为不同的查询(如果我错了,请纠正我当然)。
有没有办法告诉 Hibernate 两个查询返回相同的数据?这样做可以避免休眠第二次访问数据库。
我能想到的一个理论上的解决方案是,在发出第一个查询后,将第二个查询与第一个查询值注入缓存,但我不确定这是否可能。
【问题讨论】:
标签: java hibernate caching hql second-level-cache