Mapping strategies - Mapping inheritance - Table per concrete class with unions

3 belangrijke vragen over Mapping strategies - Mapping inheritance - Table per concrete class with unions

Hoe maak je Tabel per concrete klasse met UNIONS strategie aan ?


Annoteer de superklasse met
@Entity
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
het id veld is verplicht in de superklasse

desubklassen met @Entity

Wat een SELECT zal gegenereerd worden door een query op de superklasse ?

Deze SELECT maakt gebruik van een subquery in de FROM-clausule om alle instanties van de superklasse op te halen uit alle concrete klassentabellen. De tabellen worden gecombineerd met een UNION-operator en een letterlijke waarde (in dit geval 1 en 2) wordt ingevoegd in het tussenresultaat; Hibernate leest dit om de juiste klasse te instantiëren op basis van de gegevens uit een bepaalde rij. Een unie vereist dat de gecombineerde queries projecteren over dezelfde kolommen, dus je moet niet-bestaande kolommen aanvullen en opvullen met NULL.

Noem een voordeel tov de impliciete tabel per concrete klasse strategie.

Een belangrijk voordeel is het vermogen om polymorfe associaties te behandelen; een associatiemapping zal nu mogelijk zijn. Hibernate kan een UNION-query gebruiken om een enkele tabel te simuleren als het doel van de associatiemapping

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