जेपीए और हाइबरनेट के बीच अंतर

जेपीए और हाइबरनेट के बीच अंतर
जेपीए और हाइबरनेट के बीच अंतर

वीडियो: जेपीए और हाइबरनेट के बीच अंतर

वीडियो: जेपीए और हाइबरनेट के बीच अंतर
वीडियो: मूल्य स्तर: एयरलाइन किराया 2024, नवंबर
Anonim

जेपीए बनाम हाइबरनेट

लगभग सभी एंटरप्राइज़ एप्लिकेशन को रिलेशनल डेटाबेस को नियमित रूप से एक्सेस करने की आवश्यकता होती है। लेकिन पहले की तकनीकों (जैसे JDBC) के सामने एक समस्या प्रतिबाधा बेमेल (वस्तु-उन्मुख और संबंधपरक तकनीकों के बीच अंतर) थी। इस समस्या का समाधान पर्सिस्टेंस लेयर नामक एक अमूर्त परत की शुरूआत के माध्यम से पेश किया गया था, जो व्यापार तर्क से डेटाबेस एक्सेस को समाहित करता है। जेपीए (जावा पर्सिस्टेंस एपीआई) जावा अनुप्रयोगों में रिलेशनल डेटा (दृढ़ता परत का उपयोग करके) के प्रबंधन के लिए समर्पित एक ढांचा है। जावा डेवलपर समुदाय के भीतर उपयोग किए जाने वाले जेपीए के कई विक्रेता कार्यान्वयन हैं।हाइबरनेट जेपीए का सबसे लोकप्रिय ऐसा कार्यान्वयन है (डेटा न्यूक्लियस, एक्लिप्सलिंक और ओपनजेपीए कुछ अन्य हैं)। नवीनतम जेपीए संस्करण (जेपीए 2.0) हाइबरनेट 3.5 द्वारा पूरी तरह से समर्थित है, जिसे मार्च, 2010 में जारी किया गया था।

जेपीए क्या है?

JPA जावा के लिए रिलेशनल डेटा के प्रबंधन के लिए एक ढांचा है। इसका उपयोग जेएसई (जावा प्लेटफॉर्म, स्टैंडर्ड एडिशन) या जेईई (जावा प्लेटफॉर्म, एंटरप्राइज एडिशन) का उपयोग करने वाले अनुप्रयोगों के साथ किया जा सकता है। इसका वर्तमान संस्करण जेपीए 2.0 है, जिसे 10 दिसंबर, 2009 को जारी किया गया था। जेपीए ने ईजेबी 2.0 और ईजेबी 1.1 इकाई बीन्स को बदल दिया (जिनकी जावा डेवलपर समुदाय द्वारा भारी आलोचना की गई थी)। यद्यपि इकाई बीन्स (ईजेबी में) दृढ़ता वस्तुओं को प्रदान करते हैं, कई डेवलपर्स को डीएओ (डेटा एक्सेस ऑब्जेक्ट्स) और अन्य समान ढांचे द्वारा प्रदान की गई अपेक्षाकृत हल्की वस्तुओं का उपयोग करने के लिए उपयोग किया जाता था। नतीजतन, जेपीए पेश किया गया था, और इसने ऊपर उल्लिखित ढांचे की कई साफ-सुथरी विशेषताओं को पकड़ लिया।

जेपीए में वर्णित दृढ़ता एपीआई को कवर करती है (javax.हठ), JPQL (जावा प्लेटफ़ॉर्म, एंटरप्राइज़ संस्करण) और संबंधपरक वस्तुओं के लिए आवश्यक मेटाडेटा। एक दृढ़ता इकाई की स्थिति आम तौर पर एक तालिका में बनी रहती है। एक इकाई के उदाहरण संबंधपरक डेटाबेस की तालिका की पंक्तियों से मेल खाते हैं। मेटाडेटा का उपयोग संस्थाओं के बीच संबंधों को व्यक्त करने के लिए किया जाता है। एनोटेशन या अलग एक्सएमएल डिस्क्रिप्टर फाइलें (एप्लिकेशन के साथ तैनात) का उपयोग इकाई वर्गों में मेटाडेटा निर्दिष्ट करने के लिए किया जाता है। JPQL, जो SQL क्वेरी के समान है, संग्रहीत निकायों को क्वेरी करने के लिए उपयोग किया जाता है।

हाइबरनेट क्या है?

हाइबरनेट एक ढांचा है जिसका उपयोग जावा प्रोग्रामिंग भाषा के लिए ऑब्जेक्ट-रिलेशनल मैपिंग के लिए किया जा सकता है। अधिक विशेष रूप से, यह एक ORM (ऑब्जेक्ट-रिलेशनल मैपिंग) लाइब्रेरी है जिसका उपयोग ऑब्जेक्ट-रिलेशनल मॉडल को पारंपरिक रिलेशनल मॉडल में मैप करने के लिए किया जा सकता है। सरल शब्दों में, यह जावा कक्षाओं और रिलेशनल डेटाबेस में तालिकाओं के बीच, जावा से SQL डेटा प्रकारों के बीच भी मैपिंग बनाता है। हाइबरनेट का उपयोग SQL कॉल उत्पन्न करके डेटा क्वेरी करने और पुनर्प्राप्त करने के लिए भी किया जा सकता है।इसलिए, प्रोग्रामर को परिणाम सेट और वस्तुओं को परिवर्तित करने के मैनुअल हैंडलिंग से राहत मिली है। हाइबरनेट को जीएनयू लाइसेंस के तहत वितरित एक मुक्त और मुक्त स्रोत ढांचे के रूप में जारी किया गया है। जेपीए एपीआई के लिए एक कार्यान्वयन हाइबरनेट 3.2 और बाद के संस्करणों में प्रदान किया गया है। गेविन किंग हाइबरनेट के संस्थापक हैं।

जेपीए और हाइबरनेट में क्या अंतर है?

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

सिफारिश की: