In Json: Was genau ist eine "unmittelbare selbst-Referenz"

Stellt sich vielleicht die Frage scheint dumm, aber für mich ein Referenz-Zyklus wird beispielsweise das Objekt A bezieht sich ein Objekt B UND das Objekt B bezieht sich das Objekt A.

Ich arbeite auf einer android-Anwendung die Kommunikation mit einem GAME-server mit der Objektivierung DB.

Mein Modell ist ganz einfach, aber ich bekomme eine Fehlermeldung:

org.codehaus.jackson.map.JsonMappingException: Direct self-reference leading to cycle (through reference chain: java.util.ArrayList[0]->com.my.model.MyMessage["senderKey"]->com.googlecode.objectify.Key["root"])

Hier ist mein Modell: ein MyMessage bezieht sich ein Benutzername (der Benutzername NICHT finden eine MyMessage...

Hier ist der code:

public class MyMessage implements Serializable {
private static final long serialVersionUID = -1075184303389185795L;

@Id
private Long id;

@Unindexed
private String sendMessage;

@Unindexed
private String answerMessage;

private MessageStatus status = MessageStatus.FREE;

@Parent
Key<MyUser> senderKey;

Key<MyUser> answererKey;

@SuppressWarnings("unused")
private MyMessage() {
}

public MyMessage(MyUser user, String message) {
    super();
    this.sendMessage = message;
    this.senderKey = new Key<MyUser>(MyUser.class, user.getId());
}

[... getters and setters ...]
}

.

public class MyUser implements Serializable {

private static final long serialVersionUID = 7390103290165670089L;
@Id private String id;

@SuppressWarnings("unused")
private MyUser() {
    this.setId("default");
}

public MyUser(String mail) {
    this.setId(mail);
}

public void setId(String mail) {
    this.id = mail;
}

public String getId() {
    return id;
}

}

Also, was ist genau eine Direkte Selbstreferenz ?? Was ist Los mit meinem Modell??

Danke.

  • Blick auf die Exception wieder. Es beschwert sich über Key, nicht MyUser. Was ist Key.root? Bitte auch die definition von Key.
  • com.meine.Modell.MyMessage["senderKey"]->com.googlecode.objektivieren.Taste["root"]). Aussehen: - Taste.Wurzel ist von com.googlecode.objektivieren.Schlüssel. Es ist nicht Teil meines Codes...
InformationsquelleAutor Tyvain | 2012-08-14
Schreibe einen Kommentar