Ho appena avuto la relazione tra Hibernate Session e Connection. Ma ora, ho un'altra domanda: in che modo Hibernate sessionfactory gestisce la sessione? Nel seguente segmento di codice: save() metodo di una classe DAO:come fa hibernate sessionfactory a gestire la sessione?
Session session = sessionFactory.openSession();
Transaction tx=null;
tx=session.beginTransaction();
session.save(transientInstance);
session.flush();
tx.commit();
Quando chiamiamo sessionFactory.openSession()
, si creerà una nuova sessione attaccato al thread corrente (attraverso il ThreadLocal), questa sessione è anche attaccato a una connessione JDBC, Ma, come puoi vedere, non è necessario chiudere la sessione (session.close()), né la connessione. Quindi, qual è il ciclo di vita di una sessione di Hibernate, in quali circostanze sarà chiusa? automaticamente?
Grazie a Zelldon, lo scoprirò con i riferimenti forniti. –