Я создаю конечную точку облака в Google App Engine с JDO. У меня два объекта. Пользовательский элемент содержит список групп. Объект группы содержит список членов, являющихся пользовательскими объектами.JDO unowned many to many relationship
Entity Пользователь:
@PersistenceCapable(identityType = IdentityType.APPLICATION) public class USER {
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
Key userid;
@Persistent
String name;
@Persistent
private Set<GROUP> groups; //getters setters
Группа Entity
@PersistenceCapable(identityType = IdentityType.APPLICATION) public class GROUP {
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
Key groupid;
@Persistent
String name;
@Persistent
private Set<USER> members; //getters setters
Мой API Метод
@ApiMethod(name = "INSERT_CIRCLE")
public wmcircle insertcircle(CIRCLE circle) {
PersistenceManager mgr = getPersistenceManager();
try {
if (contains(circle)) {
throw new EntityExistsException("Object already exists");
}
mgr.makePersistent(circle);
} finally {
mgr.close();
}
return circle;
}
Когда я создаю группу GAE создает пользовательские объекты, которым владеет круг, и устанавливает отношения, но это не то поведение, которое я хочу. Я хочу, чтобы установить связь с существующими пользовательскими объектами.
любого Google "бесхозные" отношения должны @Unowned на соответствующих полях, и «mappedBy» –