Question

Alors, je suis assez nouveau pour Hibernate et j'ai un problème.

J'ai une classe abstraite (la super-classe, classe Super), et 5 sous-classes qui doivent utiliser les propriétés de la classe super et ajouter une nouvelle propriété (une nouvelle colonne)

Alors, comment puis-je faire? Dois-je étendre la classe Super à partir de java, ou il suffit de rejoindre les classes en utilisant une annotation JPA.

Voici le deuxième problème. Comment puis-je avoir une table pour 2 classes. Quelqu'un (plus intelligent que moi) m'a dit d'utiliser la @JoinTable , mais former mes recherches avec Google, je pense que je dois utiliser @Inheritance (stratégie = InheritanceStrategy.JOINED)

Puis-je utiliser @JoinTable aussi?

Pas de solution correcte

Autres conseils

Le vôtre est un cas d'héritage:

  1. ajouter l'annotation @Inheritance(stretegy=InheritanceStrategy.SINGLE_TABLE) sur votre Super
  2. ajouter l'annotation @DiscriminatorColumn (et la mise en ses attributs name et discriminatorType) (encore une fois sur le Super)
  3. sur chaque sous-classe extend le Super, et ajoutez le @DiscriminatorValue d'annotation, avec une valeur différente pour chacune des sous-classes.

Si vous êtes nouveau Mise en veille prolongée, vous devriez lire son . stratégies d'héritage sont expliqués et utiliser des annotations pour exprimer stratégie d'héritage est expliqué

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top