Ich arbeite an einem REST-Projekt mit Spring Boot und Hibernate und versuche derzeit herauszufinden, wie ich mit meiner JSON-Serialisierung umgehen kann. "Image Beschreibung hier eingeben" src = "https://i.sstatic.net/praek.png"/>
Das in der obige ERD gezeigte Schema wird von durch Hibernate und funktioniert gut. Mein Verständnis ist, dass der Frühling jetzt versucht, die Objektkette mit Jackson zu serialisieren. Da sowohl die Eltern als auch die Kinderobjekte einander als Attribut haben, treten wir auf eine unendliche Rekursionsschleife. @JsonManagedReference und @JsonBackReference, aber diese scheinen nur für Eins-zu-viele-Beziehungen zu funktionieren. < /P>
Was ich suche Erhalten Sie die Anfrage an/user/{id} , ich erhalte das Benutzerobjekt einschließlich aller Beziehungsattribute (nennen wir es das vollständige Objekt), aber die Beziehungsattribute selbst zeigen ihre Beziehungsattributen nicht (minimierte Objekte) . Dies funktioniert einwandfrei mit den oben genannten Anmerkungen, aber wie kann ich dies auch in der anderen Art und Weise funktionieren? > < /p>
Ich arbeite an einem REST-Projekt mit Spring Boot und Hibernate und versuche derzeit herauszufinden, wie ich mit meiner JSON-Serialisierung umgehen kann. "Image Beschreibung hier eingeben" src = "https://i.sstatic.net/praek.png"/>
Das in der obige ERD gezeigte Schema wird von durch Hibernate und funktioniert gut. Mein Verständnis ist, dass der Frühling jetzt versucht, die Objektkette mit Jackson zu serialisieren. Da sowohl die Eltern als auch die Kinderobjekte einander als Attribut haben, treten wir auf eine unendliche Rekursionsschleife. @JsonManagedReference und @JsonBackReference, aber diese scheinen nur für Eins-zu-viele-Beziehungen zu funktionieren. < /P>
Was ich suche Erhalten Sie die Anfrage an/user/{id} , ich erhalte das Benutzerobjekt einschließlich aller Beziehungsattribute (nennen wir es das vollständige Objekt), aber die Beziehungsattribute selbst zeigen ihre Beziehungsattributen nicht (minimierte Objekte) . Dies funktioniert einwandfrei mit den oben genannten Anmerkungen, aber wie kann ich dies auch in der anderen Art und Weise funktionieren? > < /p>
[code]{ // full user object id: 1, username: 'foo', // password can be JsonIgnored because of obvious reasons role: { // minimized role object id: 1, name: 'bar' // NO USERS LIST } area: { //minimized area object id: 2, name: 'some val' // NO USERS LIST // NO TABLES LIST } } < /code>
Die gewünschte Antwort für /userrol /{id} < /code> < /p>
{ // full role object id: 1, name: 'waiter' users: [ { // minmized user object id: 1, username: 'foo' // password can be JsonIgnored because of obvious reasons // NO ROLE OBJECT // NO AREA OBJECT }, { // minmized user object id: 1, username: 'foo' // password can be JsonIgnored because of obvious reasons // NO ROLE OBJECT // NO AREA OBJECT } ] } < /code>
Im Allgemeinen: Ich möchte ein vollständig Ideen? Ich hoffe, meine Erklärung ist klar genug. > Der Bereich, der Benutzer und die USERRole Pojo, wie in den Kommentarabschnitten angefordert.@Entity @Table(name = "users", schema = "public", catalog = "PocketOrder")
public class User { private int id; private String username; private String psswrd; private List areas;
private UserRole Role;
@Id @Column(name = "id", nullable = false) public int getId() { return id; }
public void setPsswrd(String psswrd) { this.psswrd = psswrd; }
@Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false;
User user = (User) o;
if (id != user.id) return false; if (username != null ? !username.equals(user.username) : user.username != null) return false; if (psswrd != null ? !psswrd.equals(user.psswrd) : user.psswrd != null) return false;
return true; }
@Override public int hashCode() { int result = id; result = 31 * result + (username != null ? username.hashCode() : 0); result = 31 * result + (psswrd != null ? psswrd.hashCode() : 0); return result; }
@ManyToMany(mappedBy = "users") public List getAreas() { return areas; }
public void setAreas(List areas) { this.areas = areas; }
@Entity @javax.persistence.Table(name = "areas", schema = "public", catalog = "PocketOrder") public class Area { private int id; private String name; private List users;
private List tables;
@Id @Column(name = "id", nullable = false) public int getId() { return id; }
Neuling zum Spring -Start hier. Ich möchte die gleiche Funktionalität. Ein Autor kann mehrere Bücher haben und auch ein Buch kann von mehr als einem Autoren gemeinsam geschrieben werden. Ich bin zu...
Ich habe ein einfaches MAVEN-Projekt, das Spring-Boot-Starter-Web verwendet, aber beim Versuch, Abhängigkeiten für Hibernate abzurufen, wird ein Fehler ausgegeben.
Kann mir bitte jemand erklären, warum die Datenbank (kursiver und fetter Teil) nicht so funktioniert, wie sie sollte? Auch wenn ich die Daten per Postbote verschickt habe, gelangen meine Daten nicht...
Nachdem ich die SQLAlchemy-Dokumentation gelesen habe, ist mir immer noch unklar, wie Eins-zu-Viele-Beziehungen eigentlich angegeben werden sollen. Ich werde die Dokumentation aufschlüsseln und...