Google appengine - objectify问题。嵌入式类不会被更新

时间:2016-06-19 15:29:50

标签: java google-app-engine objectify

我有一个“用户”实体和一个嵌套的嵌入式类“选项”,如下面的代码片段。但是,当我更改&时,Options类中的值更改并不总是会更新。运行此代码后“保存它”OfyService.ofy()。save()。entity(user);“

任何人都知道这个问题?任何改变它与@Cache注释相关的东西?感谢。

@Entity
@Cache
public class User {
@Id Long id;
Options options;
...

    public static class Options {
        Boolean optNotification;
        ...
    }
}

2 个答案:

答案 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()进行两次保存,但它并没有让我感到惊讶的解决方案。