Fetch plans, strategies and profiles - Lazy and eager loading - Lazy persistent collections

3 belangrijke vragen over Fetch plans, strategies and profiles - Lazy and eager loading - Lazy persistent collections

Welke collecties zijn standaard lazy loaded ?

We mappen persistente collecties met ofwel @ElementCollection voor een collectie van elementen van basistypen of embeddable typen, of met @OneToMany en @ManyToMany voor veelwaardige entiteitsassociaties. In tegenstelling tot @ManyToOne worden deze collecties standaard lazy-loaded.

Hoe implementeert Hibernate lazy loading van collecties ?

met zijn eigen speciale implementaties genaamd collectie wrappers, heeft Hibernate de implementatie vervangen door een org.hibernate.collection.internal.PersistentSet. Het is geen HashSet, maar het heeft dezelfde functionaliteit.

Welke collectie operaties veroorzaken geen initialisatie als LazyCollectionOption.EXTRA meegegeven wordt aan de collectie in de entiteit


De size() operatie activeert een SELECT COUNT() SQL-query..
Op alle extra-lazy collecties worden vergelijkbare query's uitgevoerd voor de isEmpty() en contains() operaties. Een extra-lazy Set controleert op duplicaten met een eenvoudige query wanneer we add() aanroepen. Een extra-lazy List laadt slechts één element als we get(index) aanroepen. Voor Map zijn de extra-lazy operaties containsKey() en containsValue().

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