为什么EntityManager.find()总是在google appengine中返回null?

时间:2014-05-08 15:09:21

标签: android google-app-engine nullpointerexception entitymanager

我有一个问题,我无法使用他们的密钥检索实体。我可以使用数据存储区查看器查看实体,以便它们存在。

我尝试了以下内容:

  • 使用EntityManager.createQuery()检索所有实体,它可以工作,但我不想检索所有实体。
  • 我尝试使用key.getId()和KeyFactor.keyToString(key)与EntityManager.find()仍返回null。

密钥存储在另一个实体中,我确信它们已正确存储,因为我可以在数据存储区查看器中查看它们并进行比较。

我的部分代码:

关键定义

public class Group {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Key key;
    ...
}

获取实体的功能,由google插件自动生成(我将其从Long id更改为key以尝试解决问题):

public Group getGroup(Key key) {
    EntityManager mgr = getEntityManager();
    Group group = null;
    try {
        group = mgr.find(Group.class, key);
    } finally {
        mgr.close();
    }
    return group;
}

0 个答案:

没有答案