Mapping strategies - Advanced entity associations mappings - One-to-one associations

3 belangrijke vragen over Mapping strategies - Advanced entity associations mappings - One-to-one associations

Hoe annoteer je een klasse met one to one mapping en delen van de primaire sleutel ?


@OneToOne doet wat je zou verwachten: het is vereist om een eigenschap met een entiteitswaarde aan te duiden als een één-op-één associatie. We zullen vereisen dat een Gebruiker (User) een Adres (Address) heeft met de clausule optional=false (niet-optioneel). We zullen de cascade van wijzigingen van Gebruiker (User) naar Adres (Address) afdwingen met de clausule cascade = CascadeType.ALL (alles omvattend). De annotatie @PrimaryKeyJoinColumn selecteert de gedeelde primaire sleutelstrategie die we willen toewijzen.
De constructeurontwerp handhaaft dit zwak: de openbare API van de klasse vereist een identificatiewaarde om een instantie te maken

Waarom een join table ?

Soms is een betere oplossing voor optionele waarden om een tussenliggende tabel te gebruiken, die een rij bevat als er een link aanwezig is en dat niet doet als dat niet het geval is.

Hoe dwingt het database schema uniciteit af ?

De primaire sleutel van ITEM_SHIPMENT is de kolom SHIPMENT_ID, en de kolom ITEM_ID is uniek. Een item kan daarom slechts in één zending voorkomen.

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