2010-05-25 10 views
2

J'ai besoin d'aide définir la hiérarchie des objets suivant/relation de base de données Hibernatesous-classe Hibernate avec les relations clés étrangères

Du sens de l'objet - Agent est héritée de la personne et de l'Agence est héritée de l'Organisation. ils sont hérités de partie qui peut avoir plusieurs adresses qui y sont associés

alt text

La base de données se compose de

 
Agent 
-ID 
-Name 
-PartyID (references Party.ID) 
 
Agency 
-ID 
-Name 
-PartyID (references Party.ID) 
 
Address 
-AddrID 
-PartyID (references Party.ID) 
-Street 
 
Party. 
-PartyID 

+0

Pouvez-vous esquisser votre modèle de classe avec le code pseudo minimal? De votre description je ne suis pas sûr de la façon dont vous voulez les relations. –

+0

class Party {privé BigInteger partyID ...} class Organization extends Party {private ....} class Personne extends Party {...} class Agency extends Organisation {...} class Agent extends Personne {. ..} – shikarishambu

+0

J'ai ajouté un diagramme de classes. Si ce diagramme est inexact, n'hésitez pas à le réparer. En passant, utilisez-vous des annotations ou hbm.xml? –

Répondre

4

Quelque chose comme ce qui suit pourrait être un début

@Entity 
public class Party { 

    @Id 
    private BigInteger partyID; 

    private String name; 

    @OneToMany(mappedBy="party") 
    private Set<Address> addresses; 

} 

@Entity 
public class Organization extends Party {} 

@Entity 
public class Person extends Party {} 

@Entity 
public class Agency extends Organization {} 

@Entity 
public class Agent extends Person {} 

@Entity 
public class Address{ 

    @Id 
    private BigInteger addressID; 

    @ManyToOne 
    private Party party; 

    private String street; 
}