Hibernate hbm xml 中缓存元素内的区域属性是做什么的?
what does the region attribute inside cache element in a Hibernate hbm xml do?
我真的卡在这里,在整个网络上找不到合适的信息。
Hibernate hbm xml 中 <cache />
元素内的 region
属性有什么作用?
我期待官方 jboss documentation 关于 Hibernate hbm xml 中缓存元素的详细解释。
更具体地询问,当在 queries/criteria 上设置 setCacheble(true)
时; 默认选择哪个缓存区域; StandardQueryCache 区域或 entity hbm.xml 文件
中指定的区域
谢谢。
Hibernate hbm xml 缓存元素中的 "region" 属性用于提供缓存的名称。当您使用 setCacheble(true) 时,查询将仅在此缓存区域中插入或搜索。
区域名称用在很多地方,例如从特定区域删除所有缓存,检查命中数、未命中数等
清除缓存的示例:
sessionFactory.evictQueries("cacheReginName");
我们可以在 table 上有多个缓存区域。
Criteria cri = session.createCriteria(tableName.class);
cri.setCacheRegion("cacheReginName");
或
Query qry = session.createQuery("select name from tableName where Id=1");
qry.setCacheRegion("cacheReginName");
当我们使用上面的代码时,只搜索给定的缓存区域,或者如果未找到查询,则在该区域中插入一个新查询。
如果在获取数据时没有设置缓存区域,则使用hbm.xml中提到的缓存区域。
如果 hbm.xml 中未提及缓存区域,则默认缓存区域名称是您的 class 标签名称属性。
可以根据您的需要使用多个缓存区域。
我真的卡在这里,在整个网络上找不到合适的信息。
Hibernate hbm xml 中 <cache />
元素内的 region
属性有什么作用?
我期待官方 jboss documentation 关于 Hibernate hbm xml 中缓存元素的详细解释。
更具体地询问,当在 queries/criteria 上设置 setCacheble(true)
时; 默认选择哪个缓存区域; StandardQueryCache 区域或 entity hbm.xml 文件
谢谢。
"region" 属性用于提供缓存的名称。当您使用 setCacheble(true) 时,查询将仅在此缓存区域中插入或搜索。
区域名称用在很多地方,例如从特定区域删除所有缓存,检查命中数、未命中数等
清除缓存的示例:
sessionFactory.evictQueries("cacheReginName");
我们可以在 table 上有多个缓存区域。
Criteria cri = session.createCriteria(tableName.class);
cri.setCacheRegion("cacheReginName");
或
Query qry = session.createQuery("select name from tableName where Id=1");
qry.setCacheRegion("cacheReginName");
当我们使用上面的代码时,只搜索给定的缓存区域,或者如果未找到查询,则在该区域中插入一个新查询。
如果在获取数据时没有设置缓存区域,则使用hbm.xml中提到的缓存区域。
如果 hbm.xml 中未提及缓存区域,则默认缓存区域名称是您的 class 标签名称属性。
可以根据您的需要使用多个缓存区域。