जेडीओ बनाम जेपीए के बीच की दौड़ में मैं केवल डेटान्यूक्लियस के पोस्टर से सहमत हो सकता हूं।
सबसे पहले, और सबसे महत्वपूर्ण बात, डेटान्यूक्लियस के पोस्टर जानते हैं कि वे क्या कर रहे हैं। वे सभी एक सतत पुस्तकालय विकसित करने के बाद हैं और डेटा मॉडल से संबंधित हैं जैसे कि रिलेशनल, जैसे बिग टेबल। मुझे यकीन है कि आईडी हाइबरनेट के लिए एक डेवलपर यहां थे, उन्होंने कहा था: "जब हमारे कोर लाइब्रेरीज़ का निर्माण हमारी सभी मान्यताओं को संबंधपरक मॉडल से कसकर जोड़ा जाता है, तो हाइबरनेट जीएई के लिए अनुकूलित नहीं है"।
दूसरे, जेपीए निर्विवाद रूप से अधिक व्यापक उपयोग में है, आधिकारिक जावा ईई स्टैक का एक हिस्सा होने से थोड़ी मदद मिलती है, लेकिन इसका मतलब यह नहीं है कि यह बेहतर है। वास्तव में, जेडीओ, यदि आप इसके बारे में पढ़ते हैं, तो जेपीए की तुलना में उच्च स्तर के अमूर्त स्तर से मेल खाती है। JPA को कसकर RDBMS डेटा मॉडल के साथ जोड़ा गया है।
प्रोग्रामिंग स्टैंड पॉइंट से, JDO API का उपयोग करना एक बेहतर विकल्प है, क्योंकि आप वैचारिक रूप से बहुत कम समझौता कर रहे हैं। आप अपनी इच्छा के किसी भी डेटा मॉडल के लिए सैद्धांतिक रूप से स्विच कर सकते हैं, बशर्ते आप जिस प्रदाता का उपयोग करते हैं वह अंतर्निहित डेटाबेस का समर्थन करता है। (व्यवहार में आप शायद ही कभी उच्च स्तर की पारदर्शिता प्राप्त करते हैं, क्योंकि आप अपने आप को जीएई की वस्तु पर अपनी प्राथमिक कुंजी सेट कर पाएंगे और आप अपने आप को एक विशिष्ट डेटाबेस प्रदाता, जैसे कि Google से बांधेंगे)। हालांकि यह अभी भी स्थानांतरित करना आसान होगा।
तीसरा, आप हाइबरनेट, ग्रहण लिंक और यहां तक कि जीएई के साथ वसंत का उपयोग कर सकते हैं। लगता है कि Google ने आपके अनुप्रयोगों के निर्माण के लिए आपके द्वारा उपयोग किए जाने वाले चौखटे का उपयोग करने के लिए एक बड़ा प्रयास किया है। लेकिन जब लोग अपने जीएई अनुप्रयोगों का निर्माण करते हैं तो उन्हें एहसास होता है जैसे कि वे आरडीबीएमएस पर चल रहे थे। जीएई पर वसंत धीमी है। आप इस विषय पर Google IO वीडियो को देख सकते हैं कि यह सत्य है।
इसके अलावा, मानकों का पालन करना एक अच्छी समझदारी की बात है, सिद्धांत रूप में मैं सराहना करता हूं। दूसरी ओर, जेपीए जावा ईई स्टैक का हिस्सा होता है, जो कई बार लोगों को विकल्पों की धारणा खो देता है। एहसास, अगर आप करेंगे, कि जावा सर्वर चेहरे भी जावा ईई स्टैक का हिस्सा है। और यह वेब GUI विकास के लिए अविश्वसनीय रूप से स्पष्ट समाधान है। लेकिन अंत में, लोग, होशियार लोग अगर मैं ऐसा कह सकता हूं, तो इस मानक से भटकें और इसके बजाय GWT का उपयोग करें?
इस सब में, मुझे यह कहना होगा कि जेपीए के लिए एक बहुत महत्वपूर्ण बात है। यह जेपीए के लिए Guice और इसका सुविधाजनक समर्थन है। लगता है कि Google इस बिंदु में हमेशा की तरह स्मार्ट नहीं था और अभी तक JDO का समर्थन नहीं करने के लिए संतुष्ट है। मुझे अब भी लगता है कि वे इसे बर्दाश्त कर सकते हैं, और आखिरकार जूस जेडीओ को भी साथ ले जाएगा, ... या शायद नहीं।