[英]Second level cache for entities with where clause
我想知道如果我将hbm.xml类定义中的where子句放在休眠状态的二级缓存可以按预期工作的地方:
<hibernate-mapping>
<class name="com.clazzes.A" table="TABLE_A"
mutable="false" where="xyz=5" >
<cache usage="read-only"/>
<id name="id" />
...
休眠还是将id作为键放入缓存,还是我已启用查询缓存? 例如,当我然后执行一个HQL查询(例如from A where id=2
导致SQL类似于select * from TABLE_A where id=2 and (xyz=5)
产生的SQL时。 如果我两次执行此查询,它将考虑二级缓存还是仍然执行两次SQL?
是的,您必须启用查询缓存。 这是每个查询的设置,因此您对其具有足够的控制权。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.