Advanced entity associations mappings - One-to-many associations - One-to-many association in an embeddable class

3 belangrijke vragen over Advanced entity associations mappings - One-to-many associations - One-to-many association in an embeddable class

Waarom is enkel is een unidirectionele associatie mogelijk met embeddables ?

De Zending (Shipment) kan geen verwijzing naar het Adres hebben omdat ingebedde componenten geen gedeelde verwijzingen kunnen hebben

Hoe annoteer je een OneToMany associatie met een ingebedde component en wat zijn de gevolgen ?

@OneToMany
@JoinColumn(
name = "DELIVERY_ADDRESS_USER_ID",
nullable = false
)

private Set<Shipment> deliveries = new HashSet<>()
Deze kolom met een vreemde sleutelbeperking bevindt zich in de SHIPMENT-tabel.
Ingesloten componenten hebben geen eigen identificatie, dus de waarde in de kolom met de vreemde sleutel is de waarde van de identificatie van een Gebruiker (User), die het Adres (Address) insluit. Hier verklaren we ook dat de join kolom nullable = false is, dus een Zending (Shipment) moet een bijbehorend afleveradres hebben.

Hoe annoteer je een optionele OneToMany associatie met ingebedde componenten

@OneToMany
@JoinTable(
name = "DELIVERIES",
joinColumns =
@JoinColumn(name = "USER_ID"),
inverseJoinColumns =
@JoinColumn(name = "SHIPMENT_ID")
)

private Set<Shipment> deliveries =
s we de toewijzing van de koppelingstabel of kolom van een entiteitsassociatie in een ingebedde klasse willen overschrijven, kunnen we @AssociationOverride gebruiken.

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