我有一个“用户”实体和一个嵌套的嵌入式类“选项”,如下面的代码片段。但是,当我更改&时,Options类中的值更改并不总是会更新。运行此代码后“保存它”OfyService.ofy()。save()。entity(user);“
任何人都知道这个问题?任何改变它与@Cache注释相关的东西?感谢。
@Entity
@Cache
public class User {
@Id Long id;
Options options;
...
public static class Options {
Boolean optNotification;
...
}
}
答案 0 :(得分:0)
我猜你正在遇到known stale cache issue with Objectify。
建议的解决方法是通过执行以下操作删除缓存条目:
MemcacheServiceFactory
.getMemcacheService(ObjectifyFactory.MEMCACHE_NAMESPACE)
.delete(key.toWebSafeString());
答案 1 :(得分:0)
感谢@Clifford要求我列出保存/加载,因为它帮助我意识到我有两次保存。即代码运行" OfyService.ofy()。save()。entity(user);"一个http请求中两次。我刚刚删除了第一个保存,现在问题就消失了。顺便说一下,在我删除第一个保存之前,我已经尝试使用defer()进行两次保存,但它并没有让我感到惊讶的解决方案。