@ManyToMany mit sich selbst

shaddyMS

Grünschnabel
Hallo,

ich sitze nun schon seit Tagen an einem Problem:

Wie stelle ich eine n:m Beziehung mit sich selbst dar? Habe schon einiges versucht, Ausweichlösungen sind in diesem Fall super aufwendig und ich muss auf Effizienz achten.

Gegeben folgende Situation:

Code:
public class autosys implements Serializable{
private int id;
private Collection<autosys> peers = new ArrayList<autosys>();
...
...weitere Attribute
...getter und setter..
}

Die Klasse autosys hat als Primärschlüssel id und soll eine Collection mit anderen autosys-Instanzen haben. Die Kardinalität n:n ist korrekt.

Wie mache ich das? Habe schon einiges mit @ManyToMany und @AssociationTable rumgespielt, aber mir fehlt "die andere Seite", die für die Konsistenz sorgt.

Bin für jede Hilfe dankbar, muss das wirklich hinkriegen (Bachelor-Arbeit :) )

Gruß
 
Völlig ohne Garantie, da ich mn Beziehungen bisher nicht mit JPA abgebildet hab (nur eben schnell in 'Java Persistence with Hibernate' nachgeschaut)

Im Prinzip müßte es wohl so aussehen:
Java:
@Entity
public class autosys implements Serializable{
    private int id;
    @ManyToMany
    @JoinTable(name="autosys_autosys"
           joinColumns = {@JoinColumn(name = "ID")},
           inverseJoinColumns = {@JoinColumn(name = "ID")})
    private Collection<autosys> peers = new ArrayList<autosys>();
    ...
    ...weitere Attribute
    ...getter und setter..
}

Vielleicht lieg ich auch total falsch, eventuell lenkt es Dich ja aber zumindest in die richtige Richtung.

Wenn Du tiefer in das Thema ORM einsteigen willst, kann ich Dir obiges Buch sehr empfehlen. Mir hat es jedenfalls sehr geholfen.

Gruß
 

Neue Beiträge

Zurück