Post

Visualizzazione dei post con l'etichetta ObjectNotFoundException

Hibernate: differenza session.get() e session.load()

DOMANDA: Qual è la differenza in Hibernate tra l'utilizzo di session.get(...) e session.load(...)? RISPOSTA: In Hibernate ci sono due metodi per recuperare gli oggetti: GET: Utente utente = ( Utente ) session . get ( Utente . class , idUtente ); Il metodo get() carica l'oggetto accedendo al database (se non è già presente un'istanza nella cache con lo stesso id) per valorizzarne gli attributi. Qualora non ci fosse nessuna corrispondenza, il metodo restituisce null. LOAD: Utente utente = ( Utente ) session . load ( Utente . class , idUtente ); Il metodo load() restituisce invece un'istanza del proxy di riferimento all'oggetto in questione (nel nostro caso Utente) senza accedere al database (viene valorizzato solo il campo id quindi). Solo quando si accede all'oggetto con i suoi metodi viene eseguito l'accesso al database (se non è già presente l'oggetto in cache). Questo metodo si comporta, nella pratica, co