gpt4 book ai didi

java - Hibernate hbm xml 中的缓存元素内的区域属性有什么作用?

转载 作者:行者123 更新时间:2023-11-30 07:14:45 25 4
gpt4 key购买 nike

我真的被困在这里,无法在整个网络上找到合适的信息。

region 是什么意思? <cache /> 内的属性Hibernate hbm xml 中的元素做什么?

除了官方 jboss documentation 之外,我期待答案中有详细的解释。关于Hibernate hbm xml中的缓存元素。

更具体地询问,当设置 setCacheble(true) 时关于查询/标准; 默认选择哪个缓存区域StandardQueryCache 区域或实体 hbm.xml 文件 中指定的区域

谢谢。

最佳答案

Hibernate hbm xml 中的缓存元素中的“region”属性用于给出缓存的名称。当您使用 setCacheble(true) 时,只会在此缓存区域中插入或搜索查询。

区域名称用在很多地方,例如删除特定区域的所有缓存、检查命中数、未命中数等。

清除缓存的示例:

sessionFactory.evictQueries("cacheReginName");

我们可以在一个表上有多个缓存区域。

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 中未提及缓存区域,则默认缓存区域名称是您的类标签名称属性。

可以根据您的要求使用多个缓存区域。

关于java - Hibernate hbm xml 中的缓存元素内的区域属性有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38612058/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com