Ошибка удаления объекта в AppEngine - PullRequest
2 голосов
/ 21 февраля 2012

Я столкнулся с некоторыми проблемами при попытке удалить объект из базы данных.У меня есть интерфейс для абстрагирования сущности AppEngine от моего бизнес-объекта.Я могу легко вставить и обновить, но когда я пытаюсь удалить, я получил ошибку:

java.lang.UnsupportedOperationException: не принадлежащие владельцу отношения в настоящее время не поддерживаются в org.datanucleus.store.appengine.DatastoreFKListStoreSpecialization.clearWit houtDelete (DatastoreFKListStoreSpecialization.java: 123) в org.datanucleus.sco.backed.List.clear (List.java:817) в org.datanucleus.store.mapped.mapping.C299) в org.datanucleus.store.appengine.DependentDeleteRequest.execute (DependentDel eteRequest.java: 71) ...

Я получил интерфейс ...

public interface ICompany extends IEntityBean { 
  // Getters 
  public List<IUser> getUsers(); 
  public List<IDepartment> getDepartments(); 
  public ICurrency getCurrency() throws Exception; 
} 

... реализация ...

public class GAECompany extends GAEEntityBean implements ICompany { 
  @Override 
  @OneToMany(mappedBy = "company") 
  public List<IUser> getUsers() { 
    return this.users; 
  } 

  @Override 
  @OneToMany(mappedBy = "company") 
  public List<IDepartment> getDepartments() { 
     return this.departments; 
  } 

  @Transient 
  public ICurrency getCurrency() throws Exception { 
  return this.currency; 
  } 
} 

и код для удаления ...

  // Get the entity manager 
  EntityManager em = this.getDBManager(); 

  IEntityBean persistent = em.find(obj.getClass(), obj.getId()); 
  em.remove(persistent); 
  em.flush(); 

У меня нет зависимых объектов, я только что создал Компанию исейчас я пытаюсь его удалить.Я предположил, что сопоставление является правильным, потому что я могу ВСТАВИТЬ ОБНОВЛЕНИЕ компании.но не УДАЛЯЙТЕ!Я делаю что-то неправильно??

1 Ответ

0 голосов
/ 08 февраля 2014

Решено!

Я только что обновил версию Google JDO / JPA до 2.0, и она хорошо работает!

...