JDO - 未从数据库中检索的字符串列表

时间:2010-02-11 17:37:44

标签: java persistence jdo

在我的User课程中,我有一个字符串列表字段:

@Persistent
private List<String> openIds;

当我创建新用户时,我这样做:

User user = new User();
user.openIds.add(openid);
pm.makePersistent(user);

当我在最后一行之后打破并查看时,openIds包含我放在那里的openid。 但是,当我稍后使用正确的id调用User user = pm.getObjectById(User.class, id);时,openIds字段是一个空列表。

任何人都知道会导致什么原因吗?

编辑:顺便说一下,我正在Google App Engine上运行

更新:查看数据存储区查看器,我可以看到openid已正确存储在数据库中。所以它只是没有正确地把它弄出来......

更新2:现在工作正常。我很确定我没有改变任何东西。我认为必须发生的是从数据库中提取旧版本的用户对象。在我拥有保存openid的代码之前放入的用户对象。一旦我擦除了数据库,一切正常。

1 个答案:

答案 0 :(得分:0)

不将该字段放入获取计划中? 直接访问持久字段,而不是通过setter?