Eine andere Hibernate Frage ...: PHibernate many-to-many-Vereinigung mit der gleichen Einheit
Mit Hibernate Annotations Framework, ich habe eine User
Einheit. Jede User
kann eine Sammlung von Freunden haben: eine Sammlung von anderen User
s. Ich konnte jedoch nicht herausfinden, wie eine Many-to-Many-Assoziation innerhalb der User
-Klasse erstellt wird, die aus einer Liste von User
s besteht (mithilfe einer Benutzerfreunde-Zwischentabelle).
Hier ist die Benutzerklasse und ihre Anmerkungen:
@Entity
@Table(name="tbl_users")
public class User {
@Id
@GeneratedValue
@Column(name="uid")
private Integer uid;
...
@ManyToMany(
cascade={CascadeType.PERSIST, CascadeType.MERGE},
targetEntity=org.beans.User.class
)
@JoinTable(
name="tbl_friends",
[email protected](name="personId"),
[email protected](name="friendId")
)
private List<User> friends;
}
Der Benutzer-Freund Zuordnungstabelle hat nur zwei Spalten, von denen beide Fremdschlüssel auf die uid
Spalte der tbl_users
Tabelle sind. Die zwei Spalten sind personId
(die dem aktuellen Benutzer zugeordnet werden sollte) und friendId
(die die ID des Freundes des aktuellen Benutzers angibt).
Das Problem ist, das "Freunde" -Feld bleibt Null, obwohl ich die Freundes-Tabelle so ausgefüllt habe, dass alle Benutzer im System mit allen anderen Benutzern befreundet sind. Ich habe sogar versucht, die Beziehung auf @OneToMany
zu wechseln, und es kommt immer noch Null (obwohl die Hibernate-Debug-Ausgabe zeigt eine SELECT * FROM tbl_friends WHERE personId = ? AND friendId = ?
Abfrage, aber sonst nichts).
Haben Sie Ideen, wie Sie diese Liste auffüllen können? Vielen Dank!
ich Sie hoffen, Ich bin zum dritten Mal zu meiner Rettung gekommen :) Es hat perfekt funktioniert, und deine Erklärung hat mein Verständnis von ER deutlich verbessert. Vielen Dank noch einmal! :) – Magsol
Darf ich Freunde und Freunde kombinieren? Und wenn nicht, dann brauche ich Hilfe mit jsonmanagedreference und jsonbackreference in einer Entität in dieser Frage: http://stackoverflow.com/questions/24563066/hibernate-user-and-friends-jsonreference – dikkini
Ich benutze Hibernate 5 und eine Sammlung ist genug - die Verwendung von zwei erstellt doppelte Zeilen in tbl_friends. – mdziob