Als u een verbindingspool gebruikt, roept u Connection#close()
. aan sluit de verbinding niet fysiek af, maar stuurt deze terug naar de pool voor toekomstig hergebruik. Met andere woorden, de verbinding blijft open en dat is het hele punt van het gebruik van een pool.
Nou, dat is het probleem. U maakt een SessionFactory
keer op keer (elk creëert zijn eigen pool), terwijl u deze slechts één keer moet maken voor de levensduur van uw aanvraag. Als u geen bepaald framework gebruikt, wordt dit meestal gedaan in een bepaalde utility-klasse (de beroemde HibernateUtil
klas).
De officiële Hibernate-zelfstudie heeft een heel eenvoudig voorbeeld van zo'n klasse. Of bekijk deze wat een beetje rijker is.