0

我在由 2 个类实现的 GAE 数据存储中的单个实体组中具有一对多关系:

用户.java:

public class User {
    ...
    @Persistent(mappedBy = "user", defaultFetchGroup="true")
    private List<Note> noteSets;

注意.java:

public class Note {
    ... 
    @Persistent
    private User user;

我有以下代码通过用户键和注释 id 删除一个注释:

public static void deleteNote(String userKey, long noteId) {
        PersistenceManager pm = DatastoreManager.get().getPersistenceManager();
        try {
            User user = pm.getObjectById(User.class, userKey);
            Key childKey = user.getUserKey().getChild(Note.class.getSimpleName(), noteId);
            Note note = pm.getObjectById(Note.class, childKey);
            pm.deletePersistent(note);
        } finally {
            pm.close();
        }
    }

此代码工作正常,但有时它会删除超过 1 个 Note 实体。这种行为的原因是什么?

4

0 回答 0