कनेक्शन पूल का उपयोग करते समय, Connection#close() calling को कॉल करना कनेक्शन को भौतिक रूप से बंद नहीं करता है लेकिन भविष्य में पुन:उपयोग के लिए इसे पूल में वापस कर देता है। दूसरे शब्दों में, कनेक्शन खुला रहता है और पूल का उपयोग करने का यही पूरा बिंदु है।
खैर, यही समस्या है। आप एक SessionFactory बना रहे हैं बार-बार (प्रत्येक अपना पूल बना रहा है) जबकि आपको इसे बनाना चाहिए केवल एक बार आपके आवेदन के जीवनकाल के लिए। यदि आप किसी विशेष ढांचे का उपयोग नहीं कर रहे हैं, तो यह आमतौर पर कुछ उपयोगिता वर्ग (प्रसिद्ध HibernateUtil) में किया जाता है। कक्षा)।
आधिकारिक हाइबरनेट ट्यूटोरियल इस तरह के एक वर्ग का एक बहुत ही बुनियादी उदाहरण है। या देखें यह वाला जो थोड़ा अधिक समृद्ध है।