Sobes.tech
Junior — Middle

Cosa succede quando si chiama il metodo load() in Hibernate se l'oggetto richiesto non viene trovato nel database?

sobes.tech AI

Risposta dell'AI

Chiamando il metodo load() in Hibernate, se l'oggetto richiesto non viene trovato nel database, viene sollevata un'eccezione ObjectNotFoundException.

Caratteristiche del metodo load():

  • Restituisce un oggetto proxy senza accedere immediatamente al database.
  • La richiesta effettiva al database avviene al primo accesso alle proprietà dell'oggetto.
  • Se l'oggetto non è presente nel database, tentando di accedere ai dati, viene sollevata ObjectNotFoundException.

A differenza del metodo get(), che restituisce null se l'oggetto non viene trovato, load() presume che l'oggetto esista e segnala un errore se così non fosse.