Getting started with ORM - Domain models and metadata - Implementing the domain model

7 belangrijke vragen over Getting started with ORM - Domain models and metadata - Implementing the domain model

Wat is leakage of concerns ?

Wanneer zaken als persistentie, transactiebeheer, authorisatie in domein klassen beginnen te verschijnen

Hoe staat het domain model in verband met de verschillende lagen (en hun verantwoordelijkheden) ?


De presentatielaag : om views te renderen

de business laag de controllers kunnen hebben toegang tot de staat van de entiteiten en kan business regels toepassen

de persistentielaag laad en bewaart entities in de databank

Wat verbetert er bij het verminderen van leakage of concerns ?

Het maakt het testen van dmv unit testen makkelijker geen specifieke container of mocken nodig
  • Hogere cijfers + sneller leren
  • Niets twee keer studeren
  • 100% zeker alles onthouden
Ontdek Study Smart

Wat betekent transparantie voor de domein laag

Volledige scheiding van belangen : de domein entiteiten zijn niet afhankelijk en zijn niet op de hoogte van de persistentie mechanismen

Hoe schrijf een persistentie geschikte klasse?


De klasse kan abstract zijn en een non-persistentie klasse uitbreiden of een non-persistente interface uitvoeren. Het moet een top-level klasse zijn. De klasse en methoden mogen niet definitief zijn volgens de JPA hibernate is niet zo strikt maar de prestatie van de de app kan eronder lijden
Een no-args constructor is vereist voor elke persistentie klasse, minstens package visble zijn
attributen als public of protected samen met public of protected accessor methoden accessor methoden zijn niet nodig maar bieden encapsulation aan , ontkoppelt interne datastructuur van van databank ontwerp

Hoe gaat hibernate om met excepties door accessor methods opgegooit ?

de transactie wordt teruggedraaid en je kan de exceptie opvangen naar believen een checked exceptie wordt in een Runtime Exception gewikkeld

Hoe pas je een veel naar één associatie toe in de accessor methoden


getBids in Item return Collections.unmodifiableSet(bids)

addBid in Item

bid==null
bid.getItem()!=null
bids.add(bid)
bid.setItem(this)
setiItem package visible maken

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