Hibernate: Wie kann ich beitreten 2 Klassen in einer Tabelle?
Frage
Also, ich bin ziemlich neu in dem Ruhezustand, und ich habe ein Problem.
Ich habe eine abstrakte Klasse (die Super-Klasse, Klasse Super) und 5-Subklassen, welche die Anstandsregeln aus der Klasse verwenden sollten, Super-und fügen Sie eine neue Anstands (eine neue Spalte)
Wie kann ich das tun? Soll ich die Klasse Super von Java erweitern, oder es ist genug, um die Klassen mit einer JPA-Annotation zu verbinden.
Dies ist das zweite Problem. Wie kann ich für zwei Klassen 1 Tisch. Jemand (klüger als ich) sagte mir, die verwenden @JoinTable , aber meine Suche mit Google bilden, ich glaube, ich muss Gebrauch @Inheritance (strategy = InheritanceStrategy.JOINED)
Kann ich die @JoinTable zu?
Keine korrekte Lösung
Andere Tipps
Mit freundlichen Grüßen ist ein Fall, der Vererbung:
- fügen Sie die
@Inheritance(stretegy=InheritanceStrategy.SINGLE_TABLE)
Anmerkung auf IhremSuper
- fügen Sie die
@DiscriminatorColumn
Annotation (und Einstellung seiner Attributename
unddiscriminatorType
) (wieder auf derSuper
) - auf jeder Unterklasse
extend
dieSuper
, und fügen Sie die Anmerkung@DiscriminatorValue
mit unterschiedlichem Wert für jede der Unterklassen.
Wenn Sie Hibernate neu sind, sollten Sie seine Dokumentation lesen. Inheritance Strategien erläutert werden hier und mit Anmerkungen Vererbungsstrategie zum Ausdruck bringen hier