Pri programiranju velikokrat preberemo več podatkov, kot bi jih potrebovali, ker ne vemo, katere bomo potrebovali. Hibernate ta problem rešuje z mehanizmom, imenovanim branje po potrebi (lazy loading), ki avtomatsko poskrbi za branje podatkov, ko jih potrebujemo.
Pri uporabi tega mehanizma nam kot rezultat poizvedbe vrne posredniške predmete (proxy).