Mapping strategies - Mapping inheritance - Table per class hierarchy

3 belangrijke vragen over Mapping strategies - Mapping inheritance - Table per class hierarchy

Hoe maak je een Tabel per klasse hiërarchie strategie aan ?


De superklasse :
@Entity
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name = "BD_TYPE")

Gedeelde eigenschappen van de superklasse kunnen NOT NULL zijn in het schema; elke subklasse-instantie moet een waarde hebben. Een implementatie-eigenaardigheid van Hibernate vereist dat we de niet-nullwaarde verklaren met @Column omdat Hibernate de annotatie @NotNull van Bean Validation negeert wanneer het het databaseschema genereert.

de subklasse :
@Entity
@DiscriminatorValue("CC")

Zonder een expliciete discriminatorwaarde gebruikt Hibernate standaard de volledig gekwalificeerde klassenaam als we Hibernate XML-bestanden gebruiken, en de eenvoudige entiteitsnaam als we annotaties of JPA XML-bestanden gebruiken

Welke select wordt er gegenereerd by polymorfe queries ?


Select * from superklasse

Welke select wordt er genereert bij concrete klassen ?

Select subklasse properties from superklasse where discriminator = waarde van bepaalde subklasse

De vragen op deze pagina komen uit de samenvatting van het volgende studiemateriaal:

  • Een unieke studie- en oefentool
  • Nooit meer iets twee keer studeren
  • Haal de cijfers waar je op hoopt
  • 100% zeker alles onthouden
Onthoud sneller, leer beter. Wetenschappelijk bewezen.
Trustpilot-logo