2012-08-07 24 views
6

हमारे पास MySQL डेटाबेस और स्प्रिंग के रूप में एक परियोजना है जो ढांचे के रूप में है। मैं बहुत वसंत के लिए और डेटाबेस का उपयोग परत को लागू करने के लिए देख नया हूँ और पाया वहाँ कई विकल्प उपलब्ध हैं कि,स्प्रिंग हाइबरनेट बनाम जेडीबीसी टेम्पलेट बनाम वसंत ओआरएम

  • स्प्रिंग + हाइबरनेट
  • स्प्रिंग JDBC खाका
  • का उपयोग का उपयोग करते हुए की तरह स्प्रिंग ORM मॉड्यूल
  • का उपयोग करना

मैं स्टैक ओवरफ्लो में विभिन्न पदों से गुजर चुका हूं और वेब पर थोड़ा सा शोध किया है, लेकिन प्रत्येक प्रश्न के अलग-अलग विकल्पों का समर्थन करने के अलग-अलग उत्तर थे। इसके अलावा, मैंने अब स्प्रिंग जेडीबीसी टेम्पलेट के बारे में उल्लेख नहीं किया है, जिसे अभी अनुशंसित नहीं किया जा रहा है।

आवेदन प्रति घंटे लगभग 1000 लेनदेन हो सकता है और लगभग 60% पढ़ता है और लगभग 40% लिखते हैं।

क्या कोई मुझे यह जानने में मदद कर सकता है कि 3 में से कौन से विकल्प उपयुक्त हैं और क्यों? या, यदि आप मुझे कुछ संसाधनों के लिए इंगित कर सकते हैं, तो इसकी भी सराहना की जाएगी।

उत्तर

22

हाइबरनेट स्प्रिंग का समर्थन करने वाले कई ओआरएम समाधानों में से एक है; अन्य here सूचीबद्ध हैं।

आप ORM चुन सकते हैं जब निम्न में से सभी सही थे:

  1. आप को संबंधपरक डेटा मैप करने के लिए एक ठोस वस्तु मॉडल था।
  2. आपको ओआरएम परत द्वारा आपके लिए जेनरेट किया गया एसक्यूएल पसंद आया।
  3. आपकी स्कीमा ओआरएम समाधान की आवश्यकताओं के अनुरूप अच्छी तरह से अनुरूप है।
  4. आप बहुत से संग्रहीत प्रक्रियाओं का उपयोग नहीं कर रहे थे।
  5. आपको नहीं लगता था कि आप ORM से बेहतर एसक्यूएल अनुकूलित कर सकते हैं।

यदि इनमें से कोई भी सत्य नहीं है, तो शायद एक ओआरएम आपके लिए नहीं है।

वसंत जेडीबीसी टेम्पलेट हल्का और सरल है। मैं शर्त लगाता हूं कि यह आपकी निर्दिष्ट आवश्यकताओं को समायोजित कर सकता है। मैं तब तक इसके साथ जाने की अनुशंसा करता हूं जब तक आपको पता न लगे कि आपकी आवश्यकताओं ने आपको ORM तक पहुंचाया है। यदि आप सामान्य वसंत मुहावरे का पालन करते हैं और एक इंटरफ़ेस-आधारित दृढ़ता परत बनाते हैं, तो इसका अर्थ यह होगा कि दूसरे के बजाय एक कार्यान्वयन इंजेक्शन देना होगा।