Når du bruger en forbindelsespulje, kalder du Connection#close()
lukker ikke fysisk forbindelsen, men returnerer den til poolen til fremtidig genbrug. Med andre ord forbliver forbindelsen åben, og det er hele pointen med at bruge en pool.
Nå, det er problemet. Du opretter en SessionFactory
igen og igen (hver opretter sin egen pool), mens du bør oprette den kun én gang i hele din ansøgnings levetid. Hvis du ikke bruger nogen bestemt ramme, gøres dette typisk i en eller anden hjælpeklasse (den berømte HibernateUtil
klasse).
Den officielle Dvalevejledning har et meget grundlæggende eksempel på sådan en klasse. Eller se denne hvilket er en smule rigere.