संक्षिप्त उत्तर: यह उस जटिलता पर निर्भर करता है जिसे आप समर्थन देना चाहते हैं।
लांग जवाब:
सबसे पहले, ORM (वस्तु संबंधपरक मानचित्रण - डेटाबेस मानचित्रण के रूप में आप यह कहते हैं -) और JNDI (जावा नामकरण और निर्देशिका इंटरफेस) दो अलग बातें हैं।
जैसा कि आप पहले से जानते हैं, क्लास और ऑब्जेक्ट्स में डेटाबेस टेबल मैप करने के लिए उपयोग किया जाता है। दूसरा संसाधनों के लिए एक लुकअप तंत्र प्रदान करना है, वे डेटा स्रोत, ईजेबी, क्यूई या अन्य हो सकते हैं।
शायद आपका मतलब "जेडीबीसी" हो सकता है।
अब आपके प्रश्न के लिए: यदि यह आसान हो तो यह एक ओआरएम लागू करना आवश्यक नहीं होगा। संख्या तालिका लगभग 5 - 10 अधिक होगी, और संचालन वास्तव में सरल है, मुझे लगता है।
शायद सादा जेडीबीसी का उपयोग करना पर्याप्त होगा।
यदि आप डीएओ पैटर्न का उपयोग करते हैं तो आप इसे बाद में ओआरएम रणनीति का समर्थन करने के लिए बदल सकते हैं।
इस तरह: आप कर्मचारी तालिका
आपको अपनी ओर से डीबी के सभी क्षेत्रों (यह बहुत लंबा नहीं लेना चाहिए) और तरह के तरीकों के साथ एक EmployeeDaO.java साथ Employee.java बनवाने के कहते हैं:
+findById(id): Employee
+insert(Employee)
+update(Employee)
+delete(Employee)
+findAll():List<Employee>
और कार्यान्वयन काफी सीधे आगे है:
select * from employee where id = ?
insert into employee (bla, bla, bla) values (? , ? , ?)
update etc. etc
जब (और अगर) अपने आवेदन भी जटिल हो जाता है आप m एए डीएओ कार्यान्वयन बदलो। उदाहरण के लिए "चयन" विधि में आप ओआरएम ऑब्जेक्ट का उपयोग करने के लिए कोड बदलते हैं जो ऑपरेशन करता है।
public Employee selectById(int id) {
// Commenting out the previous implementation...
// String query = select * from employee where id = ?
// execute(query)
// Using the ORM solution
Session session = getSession();
Employee e = (Employee) session.get(Employee.clas, id);
return e;
}
यह एक उदाहरण मात्र, वास्तविक जीवन में आप Abstact कारखाने ORM डीएओ बना सकते हैं हो सकता है, लेकिन उस से Offtopic है।मुद्दा यह है कि आप सरल शुरू कर सकते हैं और desing पैटर्न का उपयोग करके आप आवश्यकता के बाद बाद में कार्यान्वयन बदल सकते हैं।
बेशक यदि आप तकनीक सीखना चाहते हैं तो आप 1 टेबल से भी दूर हो सकते हैं।
एक या दूसरे (ओआरएम समाधान) की पसंद मूल रूप से उस तकनीक पर निर्भर करती है जिसका आप उपयोग कर रहे हैं। उदाहरण के लिए जेबॉस या अन्य ओपनसोर्स उत्पादों के लिए हाइबरनेट महान है। यह ओपनसोर्स है, वहां से सीखने के लिए बहुत सारे संसाधन हैं। लेकिन अगर आप किसी ऐसे चीज का उपयोग कर रहे हैं जिसमें पहले से ही टॉपलिंक (ऑरैकल एप्लिकेशन सर्वर की तरह) है या यदि आधार पहले से ही टॉपलिंक पर बनाया गया है तो आपको उस ढांचे के साथ रहना चाहिए।
वैसे, चूंकि ओरेकल ने बीईए खरीदा, उन्होंने कहा कि वे कोडो (वेबलॉगिक पेरेसिस्टेंस फ्रेमवर्क) को अब "ओरेकल वेबलॉगिक एप्लिकेशन सर्वर" में टॉप्लिंक के साथ बदल रहे हैं।
मैं तुम्हें कुछ संसाधनों जहाँ आप इस बारे में अधिक जानकारी प्राप्त कर सकते हैं छोड़:
पुस्तक, मार्टिन Fowler इस "उद्यम अनुप्रयोग वास्तुकला के पैटर्न" में, बताते हैं, जहां एक या एक और उपयोग करने के लिए, यहाँ सूची है । बनाम वस्तु संबंधपरक व्यवहार पैटर्न डेटा स्रोत वास्तु पैटर्न पर एक नज़र डालें:
PEAA Catalog
डीएओ (डेटा एक्सेस ऑब्जेक्ट) कोर J2EE पैटर्न सूची का हिस्सा है:
The DAO pattern
यह हाइबरनेट के लिए स्टार्टर ट्यूटोरियल है:
Hibernate
Toplink की आधिकारिक पेज:
Toplink
अंत में मैं "लगता है कि" जेपीए का अच्छा लगता है कि तुम प्रदाताओं हाल ही में बदल सकता है।
सरल प्रारंभ करें और फिर विकसित करें।
मुझे उम्मीद है कि इससे मदद मिलती है।