Hibernate Books

All times are UTC - 5 hours [ DST ]



Post new topic Reply to topic  [ 1 post ] 
Author Message
 Post subject: zusammengesetzter Primärschlüssel - Mapping Problem
PostPosted: Mon Jun 18, 2012 7:58 am 
Newbie

Joined: Mon Jun 18, 2012 7:54 am
Posts: 6
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 :-)


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 1 post ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.