データベースからエンティティを削除しようとすると、いくつかの問題が発生します。私はビジネスオブジェクトからAppEngineエンティティを抽象化するためのインターフェイスを持っています。私は簡単に挿入して、アップデートが、私はエラーを得削除しようとすることができます。AppEngineのエンティティの削除中にエラーが発生しました
java.lang.UnsupportedOperationException: Non-owned relationships are not currently supported at org.datanucleus.store.appengine.DatastoreFKListStoreSpecialization.clearWit houtDelete(DatastoreFKListStoreSpecialization.java: 123) at org.datanucleus.sco.backed.List.clear(List.java:817) at org.datanucleus.store.mapped.mapping.CollectionMapping.preDelete(Collection Mapping.java: 299) at 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();
I私はちょうど会社を作成し、今私はそれを削除しようとしている依存オブジェクトがありません。 会社に更新を挿入できるので、マッピングが正しいと思われました。削除しないでください! 私は何か間違っているのですか?
v2.0が利用可能な場合に、なぜGoogle JDO/JPAプラグインのv1.0を使用するのですか? – DataNucleus