2009-02-09 15 views
33

बस मेरे सिर को वसंत के दौर में लेने की कोशिश कर रहा है और यह पता लगा रहा है कि मैं xml कॉन्फ़िगरेशन फ़ाइल में ओरेकल कनेक्शन कैसे वायरस करता हूं, और अब पता चला कि मुझे अभी तक एक और ढांचा चाहिए! - हाइबरनेट, यह बहुत निराशाजनक है क्योंकि ऐसा लगता है कि मैं वास्तव में जो कुछ भी करने की ज़रूरत के बिना अधिक से अधिक ढांचे में गहरा और गहरा हो रहा हूं!वसंत बनाम हाइबरनेट

मैंने हाइबरनेट को देखा और ऐसा लगता है कि वसंत के समान चीजें होती हैं, मैं ध्यान में रखता हूं कि मैं ओरेकल में कुछ एसक्यूएल आवेषण करना चाहता हूं।

मैं अनिच्छुक हूं और 2 ढांचे को सीखने के लिए समय नहीं है - क्या मैं साधारण चीज़ों के लिए केवल हाइबरनेट को अपनाने के साथ दूर हो सकता हूं?

+0

मुझे आपका दर्द महसूस होता है, हालांकि वसंत और हाइबरनेट बहुत अलग चीजें करने लगते हैं। मुझे लगता है कि कुछ कार्यों के लिए एक दूसरे पर निर्भर हैं। –

+0

मैं पिछले बयान को दोहराता हूं, जाहिर है वसंत ओआरएम भी करता है। –

+1

"मैं * बस * ओरेकल में कुछ एसक्यूएल आवेषण करना चाहता हूं।" प्रसिद्ध अंतिम शब्द। –

उत्तर

56

... क्या मैं साधारण चीज़ों के लिए केवल हाइबरनेट को अपनाने के साथ दूर हो सकता हूं?

हाँ

हाइबरनेट (संबंधपरक मानचित्रण वस्तु) है कि, अपने वस्तुओं एक आरडीबीएमएस को लगातार बनाने ORM के लिए है।

वसंत आगे बढ़ता है। इसका उपयोग एओपी, निर्भरता इंजेक्टर, एक वेब एप्लीकेशन और अन्य चीजों के साथ ओआरएम के रूप में भी किया जा सकता है।

तो यदि आपको केवल ओआरएम की आवश्यकता है, तो केवल हाइबरनेट का उपयोग करें। समय आने पर आपको वसंत की आवश्यकता होगी, और आप इसे सीखेंगे।

यहाँ स्प्रिंग की एक वास्तुशिल्प दृश्य है:

spring

और यह हाइबरनेट है:

hibernate

9

स्प्रिंग और हाइबरनेट विभिन्न समस्याओं के लिए पूरी तरह से अलग व्यवस्थाएं हैं। वसंत कई सारी सुविधाओं के साथ एक विशाल ढांचा है, हाइबरनेट एक ओ/आर पुल है।

मैं आपके मामले में सादे पुराने जेडीबीसी का उपयोग करने की सिफारिश करता हूं ('ओरेकल में बस कुछ एसक्यूएल आवेषण')।

+0

वसंत में ओआरएम भी है। – OscarRyz

+3

हां, स्प्रिंग के पास एकमात्र चीज नहीं है जो स्वयं का वीएम है, जिसे शायद जल्द ही जोड़ा जाएगा? ;) –

+0

मजाकिया बात यह है कि वसंत को हल्के वजन कहा जाता है, भले ही यह इतना बड़ा ढांचा है। जाहिर है हल्केपन सापेक्ष है - वसंत के मामले में एक पूर्ण जावा ईई अनुप्रयोग सर्वर से हल्का है। –

4

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

+2

उसे iBatis, IMHO से भ्रमित न करें। यह वास्तव में एक अच्छा ढांचा है, लेकिन उसके लिए अभी तक एक और है। निश्चित रूप से कोई नकारात्मक नहीं। –

7

आप बस वसंत और spring-JDBC integration का उपयोग कर दूर हो सकते हैं। आपके डेटा-एक्सेस की जटिलताओं के आधार पर यह पर्याप्त से अधिक हो सकता है। वसंत Object-relation mapping यह भी देखने लायक है कि आप बहुत सारे डेटा-एक्सेस करने जा रहे हैं या नहीं।

वसंत के बारे में अच्छी बात यह है कि यह बहुत ही कमजोर युग्मित ढांचा है। तो आप अपने द्वारा उपयोग की जाने वाली बिट्स पर पढ़ सकते हैं, और बाकी को भूल सकते हैं - यहां तक ​​कि रनटाइम में भी।

1

यदि आप चाहते हैं कि ऑरैकल के लिए एसक्यूएल डालें तो मैं एक साधारण जेडीबीसी लाइब्रेरी से चिपक जाऊंगा। आपको केवल एक कनेक्शन की आवश्यकता है और शायद कुछ कनेक्शनपूल (शायद c3po)। हाइबरनेट और जैसे बहुत बड़े/बहुत जटिल और आईएमओ अवरुद्ध हैं। हाइबरनेट हूड के तहत जेडीबीसी को शामिल करता है लेकिन हर मापनीय तरीके से कम होता है - उपयोग करने में कठोर, तेज़ नहीं, और आपके द्वारा लिखे गए प्रश्नों को लिखना या आसान नहीं है।यह उनकी न्यूनता के लिए भी एक प्रमाण पत्र है क्योंकि एचक्यूएल एक बाईपास मार्ग भी प्रदान करता है ताकि आप सीधे जेडीबीसी प्रश्नों को दर्ज कर सकें। वे इसे (मुझे संदेह है) प्रदान करते हैं क्योंकि किसी भी जटिल क्वेरी के लिए आप इसे एचक्यूएल में अच्छी तरह से नहीं बना सकते हैं।

संबंधित मुद्दे