Hi!
Angenommen wir habe 2 Jave-Tabellen-Klassen:
1. Lehrer
2. Schule
Bem.: In unserem Modell kann ein Lehrer in beliebig vielen Schulen unterrichten,
so dass zwischen Lehrer und Schule ein N:M-Beziehung besteht.
-> Folglich brauchen wir eine Join-Tabelle zwischen diesen beiden Entitäten, d.h. eine Beziehungstabelle.
Ziel ist es für jede Schule zu speichern, welche Lehrer in dieser unterrichten - hierzu will ich eine Beziehungstabelle verwenden,
die lediglich 2 Attribute haben soll: Lehrer-ID und Schul-ID.
Ich weiß wie ich eine Beziehungstabelle mittels der Hibernate-Annotation @JoinTable erstellen kann.
Ich möchte aber, dass meine Beziehungstabelle auch eine eigene Java-Klasse ist - wie macht man das?
Vereinfachter Code der Java-Klasse 'Schule':
Vereinfachter Code der Java-Klasse 'Lehrer':
Wie sähe nun eine Beziehungs-Java-Klasse 'Schule_Lehrer' aus?
Ich bin über jede Hilfe dankbar^^
Gruß
Zrebna
Angenommen wir habe 2 Jave-Tabellen-Klassen:
1. Lehrer
2. Schule
Bem.: In unserem Modell kann ein Lehrer in beliebig vielen Schulen unterrichten,
so dass zwischen Lehrer und Schule ein N:M-Beziehung besteht.
-> Folglich brauchen wir eine Join-Tabelle zwischen diesen beiden Entitäten, d.h. eine Beziehungstabelle.
Ziel ist es für jede Schule zu speichern, welche Lehrer in dieser unterrichten - hierzu will ich eine Beziehungstabelle verwenden,
die lediglich 2 Attribute haben soll: Lehrer-ID und Schul-ID.
Ich weiß wie ich eine Beziehungstabelle mittels der Hibernate-Annotation @JoinTable erstellen kann.
Ich möchte aber, dass meine Beziehungstabelle auch eine eigene Java-Klasse ist - wie macht man das?
Vereinfachter Code der Java-Klasse 'Schule':
Java:
@Entity
@Table(name = Schule.TABLE)
public class Schule implements Serializable {
private static final long serialVersionUID = -6170616881234675372L;
public static final String TABLE = "schule";
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE)
private long id;
@Column(name = "name", nullable = false)
private String name;
// getters and setters
public long getId() {
return this.id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
Vereinfachter Code der Java-Klasse 'Lehrer':
Java:
@Entity
@Table(name = Lehrer.TABLE)
public class Lehrer implements Serializable {
private static final long serialVersionUID = -6170616121234675372L;
public static final String TABLE = "lehrer";
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE)
private long id;
@Column(name = "nachname", nullable = false)
private String nachname;
// getters and setters
public long getId() {
return this.id;
}
public String getNachname() {
return nachname;
}
public void setName(String nachname) {
this.nachname = nachname;
}
}
Wie sähe nun eine Beziehungs-Java-Klasse 'Schule_Lehrer' aus?
Ich bin über jede Hilfe dankbar^^
Gruß
Zrebna