新しいクラウド エンドポイント ライブラリを生成する場合、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 を返します。しかし、私は何かが欠けていると思います.誰かがこれについて私に教えてくれませんか? ありがとう!