मेरे पास EntityManagerFactory
है जिसके लिए मैं एक (या एकाधिक) EntityManager
उदाहरण बना सकता हूं। मैं एक सर्वलेट वातावरण का उपयोग कर रहा हूं, और मेरे पास एक EntityManagerFactory है जो सर्वलेट (सर्वलेट संदर्भ के माध्यम से) तक पहुंचा है जो सर्वलेट के जीवनकाल (और इसलिए, सभी उपयोगकर्ताओं के लिए) के लिए साझा किया जाता है।मुझे एंटिटी मैनेजर कितनी बार बनाना चाहिए?
मैं निम्न में से एक कर सकते हैं:
- मेरी सर्वलेट के जीवनकाल (जैसे सभी उपयोगकर्ताओं के बीच साझा)
- प्रति उपयोगकर्ता एक बनाएं (ताकि प्रत्येक उपयोगकर्ता में अपने स्वयं के हो जाता है के लिए एक एकल EntityManager बनाएं HttpSession)
- HTTP अनुरोध (प्रति एक बनाएं कहते हैं, एक नया एक instantiating और एक
doGet
विधि के अंत)
कौन सा सबसे उपयुक्त है पर यह बंद करके? EntityManager को महत्वपूर्ण बनाने की लागत क्या है? यदि मैं एक साझा साझा इकाई प्रबंधक करता हूं, तो क्या एक लेनदेन का दायरा है (यानी स्वतंत्र उपयोगकर्ताओं के बीच अपडेट दूसरों को बदल सकता है)?
सहमत हुए। मैं पूरी तरह से सुझाव देता हूं कि आप ईजेबी 3 या स्प्रिंग फ्रेमवर्क जैसे एकीकरण फ्रेमवर्क का उपयोग करें जो EntityManager प्रबंधन का बोझ उठाएगा। –