Hibernate version: 3
Mapping documents: Annotation Mapping (siehe Klasse)
Name and version of the database you are using: MySQL 5
Hallo zusammen!
Ich habe ein Problem mit dem Mapping von Hibernate bzw. damit wie Hibernate es umsetzt und anschließend benutzt.
Mein Problem:
Ich habe 2 Klassen: Bug und Benutzer
Ein Benutzer kann 0 bis n Bugs einreichen und ein Bug kann nur genau von einem Benutzer eingereicht werden.
Diesen Sachverhalt habe ich wie folgt dargestellt (habe hier für das Forum nur die relevanten Dinge herausgenommen):
Benutzer:
Code:
public class Benutzer implements Serializable {
...
@OneToMany(cascade = {CascadeType.ALL})
private Set<Bug> bug = new HashSet<Bug>();
...
}
Bug:Code:
public class Bug implements Serializable {
...
@ManyToOne(cascade = {CascadeType.ALL})
@JoinColumn(name="benutzerID")
private Benutzer einreicher;
...
}
Nun meine Fragen:
1) Hibernate generiert beim erstellen der Datenbank richtiger Weise die zwei zugehörigen Tabellen, jedoch auch eine Art ZwischenTabelle wie bei n:m Beziehungen. Speichere ich nun einen Benutzer mit seinen Bugs ab (per Cascade, ich speichere nur den Benutzer per Befehl) füllt Hibernate aber nur die zwei "richtigen" Tabellen (Benutzer und Bug), nicht aber die ZwischenTabelle. Weiters kann ich, ohne die Beziehung in der Zwischentabelle manuell einzufügen, die Objekte nicht mehr laden.
2) Wie mappe ich eine solche Beziehung (sie is ja bidirektional?) mit richtigen Bezeichungen? Also zB mit Hilfe der mappedBy Klausel. (Die funktioniert bei mir des Öfteren nur bedingt)
Vielen Dank für eure Hilfe im Vorhinein!
lg
Mitschi