Когато използвате пул за връзки, извикване на Connection#close()
не затваря физически връзката, но я връща в пула за бъдеща повторна употреба. С други думи, връзката остава отворена и това е целият смисъл от използването на пул.
Е, това е проблемът. Вие създавате SessionFactory
отново и отново (всеки създава свой собствен пул), докато вие трябва да го създадете само веднъж за целия живот на вашето приложение. Ако не използвате конкретна рамка, това обикновено се прави в някакъв полезен клас (известният HibernateUtil
клас).
Официалният урок за хибернация има много елементарен пример за такъв клас. Или вижте този което е малко по-богато.