0

当您生成新的云端点库时, contains 方法始终如下所示:

private boolean containsObject(Object object) {
    PersistenceManager mgr = getPersistenceManager();
    boolean contains = true;
    try {
        mgr.getObjectById(Object.class, object.getId());
    } catch (javax.jdo.JDOObjectNotFoundException ex) {
        contains = false;
    } finally {
        mgr.close();
    }
    return contains;
}

乍一看,这看起来是个不错的方法,但考虑到默认的插入方法会检查包含,插入的全部意义在于您还没有 id。所以默认情况下插入总是失败。

我通过在 contains 方法中检查 null id 并在 id 为 null 时返回 false 来解决这个问题。但我想我错过了一些东西,有人可以告诉我吗?谢谢!

4

0 回答 0