2010-10-26 5 views
1

est-ce que quelqu'un sait ici la manière correcte d'associer une seule entité (une classe pojo) à plusieurs classes .. im travaille actuellement sur une situation où mainClass a un-à -la relation de beaucoup à subClass et subClass a une relation un-à-plusieurs à unitsClass aussi. la relation de ces classes ressemble à ceci:comment associer une entité unique à plusieurs entités (classes pojo)

  • MainClass - OneToMany - subClass
  • subClass - ManyToOne - MainClass ET OneToMany - unitsClass
  • unitsClass - ManyToOne - subClass

Je ne sais pas si il est possible que subClass contienne plusieurs associations à plusieurs classes.Si non, quel serait le meilleur moyen de résoudre ce problème? im en utilisant des annotations d'hibernation.

J'espère que quelqu'un pourrait m'aider à ce sujet.

merci beaucoup!

+0

La réponse à la question dans votre titre est "Oui". Ce n'est pas utile. Cela ne peut pas être ce que vous voulez savoir. Veuillez corriger votre titre pour dire ce que vous voulez savoir. Il semble que vous vouliez savoir quelles annotations Hibernate utiliser. Veuillez corriger le titre pour dire réellement ce dont vous avez besoin. –

+0

btw, utilisez-vous JPA ou Hibernate uniquement? – Bozho

+0

@Bozho im utilisant JPA – unknown

Répondre

1

Oui. Dans la forme la plus simple, cela ressemblerait à ceci:

@Entity 
public class MainClass { 
    @OneToMany 
    private List<SubClass> subclasses; 

    // Id and other fields 
} 

@Entity 
public clsas SubClass { 
    @ManyToOne 
    private MainClass mainClass 

    @OneToMany 
    private List<UnitClass> unitClasses; 
} 

@Entity 
public class UnitClass { 
    @ManyToOne 
    private SubClass subClass; 
} 
+0

merci. J'ai construit les 3 classes de cette façon et cela fonctionne bien pour la classe principale et la sous-classe, mais j'ai toujours une exception NUllPointerException pour l'unitéClass. – unknown

+0

merci! Enfin, j'ai compris la raison pour laquelle NullPointerException se produit. merci pour votre aide à nouveau: P – unknown

+0

@unknown si une réponse fonctionne pour vous, marquez-le comme accepté – Bozho

Questions connexes