Hibernate rekursive viele-zu-viele-Assoziation mit der gleichen Person

Anderen Hibernate-Frage... 😛

Einsatz von Hibernate die Kommentare Rahmen, ich habe eine User Einheit. Jeder User haben kann, eine Sammlung von Freunden: eine Sammlung von anderen Users. Allerdings habe ich nicht in der Lage gewesen, um herauszufinden, wie das erstellen einer Viele-zu-Viele-Assoziation innerhalb der User Klasse, bestehend aus einer Liste von Users (mit user-Freunde-intermediate-Tabelle).

Hier ist die User-Klasse 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",
            joinColumns=@JoinColumn(name="personId"),
            inverseJoinColumns=@JoinColumn(name="friendId")
    )
    private List<User> friends;
}

Den Benutzer-Freund-mapping-Tabelle hat nur zwei Spalten, die beide Fremdschlüssel zu den uid Spalte der tbl_users Tabelle. Die beiden Säulen sind personId (die Karte für den aktuellen Benutzer), und friendId (gibt die id des aktuellen Benutzers Freund).

Das problem ist, das die "Freunde" - Feld kommt immer null aus, obwohl ich bereits aufgefüllt, die Freunde-Tabelle, so dass alle Benutzer im system sind Freunde mit allen anderen Nutzern. Ich habe sogar versucht die Umschaltung der Beziehung zu @OneToMany, und es kommt immer noch null (obwohl das Hibernate-debug-Ausgabe zeigt eine SELECT * FROM tbl_friends WHERE personId = ? AND friendId = ? Abfrage, aber sonst nichts).

Irgendwelche Ideen, wie zum ausfüllen dieser Liste? Danke!

InformationsquelleAutor Magsol | 2009-11-01
Schreibe einen Kommentar