在我的应用程序中,当用户登录系统时,系统从数据库读取一些设置并将它们存储在用户的会话中。系统使用 EclipseLink (JPA 2.0) 通过 JPA 查询执行此操作。
当我更改数据库中的某些设置并再次登录时,查询将返回以前的结果。 EclipseLink 似乎正在缓存结果。
我已经用它来纠正这种行为但是这是行不通的:
query.setHint(QueryHints.cache_usage,cacheUsage.no_cache);
如果要设置查询提示,docs http://wiki.eclipse.org/EclipseLink/Examples/JPA/Caching建议这样做:
query.setHint("javax.persistence.cache.storeMode", "REFRESH");
您也可以设置受影响实体的@Cacheable
注解
@Cacheable(false)
public class EntityThatMustNotBeCached {
...
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)