Hallo Community.
Ich habe ein Problem mit Hibernate und hoffe auf Hilfe
Folgendes Konstrukt:
Tabelle: Adressliste (ID(PK), Bezeichnung)
Tabelle: FilialKontakt (FilialID(PK/FK), KontaktID(PK/FK), primaerKZ)
Nun kann eine Adressliste einen oder mehrere Filialkontakte haben
und ein Filialkontakt kann in einer oder mehreren Adresslisten vorhanden sein.
==>Tabelle: FilialKontaktAdressliste(FilialID(PK/FK), KontaktID(PK/FK), AdresslisteID(PK/FK))
Ich weiß nun nicht, wie mein Annotaition auszusehen hat
Problem bereitet mir hierbei der zusammengesetzte Primärschlüssel.
Bei einem solchen Konstrukt:
Tabelle: Filiale(ID, Name)
Tabelle: Branche(ID, Name)
kann eine Filiale eine oder mehrere Branchen haben
und eine Branche kann einer oder mehreren Filialen zugeordnet sein
==> Tabelle FilialBranche(FilialID(PK/FK), BrancheID(PK/FK))
Sieht mein Annotation (in der Filiale.java) folgendermaßen aus:
Code:
@ManyToMany(fetch = FetchType.LAZY, cascade = CascadeType.PERSIST)
@JoinTable(name="FILIALBRANCHE", joinColumns = {
@JoinColumn(name="FILIALID") }, inverseJoinColumns = {
@JoinColumn(name="BRANCHEID") } )
private Set <Branche> myBranche = new HashSet<Branche>(0);
und das funktionier auch wunderbar.
Wie erwähnt, ist mein Problem das obere Konstrukt und dabei der zusammengesetzte Primärschlüssel.
Habe dazu leider noch nichts brauchbares gefunden.
Hoffe mein Problem ist deutlich geworden und mir kann jemand helfen
Hier noch meine Klassen zu FilialKontakt und Adressliste
Code:
@Entity
@Table(name="FILIALKONTAKT")
public class FilialKontakt implements Serializable {
/**
*
*/
private static final long serialVersionUID = -3669314898011844021L;
@Id
@ManyToOne(fetch=FetchType.EAGER,cascade = CascadeType.PERSIST)
@JoinColumn(name = "FILIALID", insertable=true, updatable=true)
private Filiale myFiliale;
@Id
@ManyToOne(fetch=FetchType.EAGER,cascade = CascadeType.PERSIST)
@JoinColumn(name = "KONTAKTID", insertable=true, updatable=true)
private Kontakte myKontakt;
@Column
private Integer primaerKz;
public FilialKontakt() {
}
//nachfolgend getter und setter
Code:
@Entity
@Table(name="ADRESSLISTE")
public class Adressliste {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ADRESSLISTEID")
private Integer adresslisteid;
@Column(name="BEZEICHNUNG")
private String bezeichnung;
public Adressliste() {
}
//nachfolgend getter und setter
Hoffe ihr versteht mein Problem und könnt mir helfen :-)