Hi, ich habe schon hier im Forum gesucht und auch im Netz, aber alle Hilfestellungen haben nicht zu dem gewünschten Ergebnis geführt. Daher mache ich hier leider noch mal das Thema auf und hoffe, dass ihr mir weiterhelfen könnt. Ich habe folgendes Problem.
Ich möchte ein bidirektionales 1-n Mapping mit Hibernate abbilden und bekomme es einfach nicht hin. Ich habe mal wieder die Entities Student und Adresse, wobei 1 Student mehrere Adressen haben kann. Dazu habe ich folgende Annotations in den Entities hinzugefügt:
Code:
Class: Student
@OneToMany(cascade = CascadeType.ALL, mappedBy = "student")
private List<Adress> adresses;
Code:
Class: Adress
@ManyToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "STUDENT_ID")
private Student student;
Die Klassen besitzen natürlich noch getter und setter. Die Datenbank wird mit "create-drop" immer wieder neu erzeugt, ist also leer. Ich möchte jetzt einen Studenten und Adresse anlegen und möchte nur mit einem Save des Studenten die Einträge in der DB haben. Leider wird bei dem Save des Studenten keine ID in der STUDENT_ID Spalte der Adresse gemacht.
Wenn ich es umgekehrt mache, also die Adresse speichere und auch nur die Adresse, dann wird der Student erstellt und die ID in die STUDENT_ID eingetragen. Somit gehe ich zur Zeit davon aus, dass es ein Problem mit dem bidirectional Mapping ist.
Leider stehe ich zur Zeit total auf dem Schlauch und komme nicht weiter. Wenn ich das "mappedBy" weglasse, wird ein Mapping-Tabelle erzeugt in der auch die richtigen Werte eingetragen werden. Aber das hallte ich bei diesem Mapping für nicht sinnvoll eine MappingTabelle anzulegen. Ich habe auch schon ein n-n Mapping ohne Probleme hinbekommen, leider komme ich hier nicht weiter.