2009-11-25 13 views
17

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

आदर्श रूप से मैं एक बीन मैपर ढूंढने की उम्मीद कर रहा हूं जो कि गुइस चीजों से प्रेरित है।

+0

एक और विकल्प http://jtransfo.org/ होगा। यह मैपिंग को TO पर एनोटेशन का उपयोग करके परिभाषित करने की अनुमति देता है। इसमें अतिरिक्त सुविधा है कि टैग के आधार पर आपके पास सुरक्षा/वैकल्पिक रूपांतरण हो सकते हैं। –

+1

https://github.com/amgohan/zebra/ पर एक नज़र डालें: (DIY ऑब्जेक्ट मैपिंग और मैपर्स इंजेक्ट करने के लिए एकीकृत तरीके के लिए ज़ेबरा का उपयोग करें।) ज़ेबरा एक सरल और एकीकृत तरीके से आते हैं: अपने मैपर बनाएं; एक वर्ग में एक तरफ और रिवर्स मैपिंग प्रबंधित करें; अपने मैपर पंजीकृत करें और अपने आवेदन में कहीं भी उनका पुन: उपयोग करें; गहरी मैपिंग का प्रबंधन करें। – amgohan

+0

यह एक बहुत अच्छा विकल्प है: http://modelmapper.org/ – cosbor11

उत्तर

9

मैं विकल्पों की भी तलाश कर रहा था।

Here विभिन्न विकल्पों का एक बहुत अच्छा कवरेज है।

16

Orika पर देखें।

ओरिका जावा बीन मैपिंग फ्रेमवर्क है जो एक ऑब्जेक्ट से दूसरे ऑब्जेक्ट में डेटा (अन्य क्षमताओं के बीच) प्रतिलिपि बनाता है। बहु-स्तरित अनुप्रयोगों को विकसित करते समय यह बहुत उपयोगी हो सकता है।

+0

ओरीका ने मेरे लिए नौकरी की, संग्रह मैपिंग केस को बिना किसी प्रयास के संभाला। बहुत शक्तिशाली और प्रयोग योग्य लाइब्रेरी आईएमओ। –

3

मेरे दृष्टिकोण से, कुछ विशेष गुणों को मानचित्रित करने के लिए कॉन्फ़िगरेशन या जावा कोड हमेशा आवश्यक है।

यहाँ मैं उदाहरण के लिए एक DO और DTO ले जाना चाहते

DO:{ 
    id: "id", 
    name:"name", 
    doName1: "doName1", 
    nestedObj: { 
     id: "nestedObjId", 
     name: "nestedObjName" 
    } 
} 

DTO{ 
    id: "", 
    name: "", 
    name1: "" // for mapping doName1 in DO. 
    nestedId: "", //for DT.nestObj.id 
    nestedName: "", //for DT.nestObj.name 
} 

के लिए डोजर या Orika वे दोनों स्वत: ही किसी विन्यास या जावा कोड के बिना नहीं और डीटीओ के बीच आईडी और नाम संपत्ति मिलान कर सकते हैं क्योंकि वे के साथ कर रहे हैं एक ही संपत्ति के नाम और प्रकार। लेकिन यदि आप DO.doName1 < ---->DTO.name1 या DO.nestedObj.id < --->DTO.nestedId आपको मैपिंग टूल को बताने के लिए कुछ कॉन्फ़िगरेशन (xml या जावा के माध्यम से) करने की आवश्यकता है, तो आप ऐसा करना चाहते हैं। मुझे लगता है कि आपके उपयोग के मामले में, डोज़र, ओरीका और मॉडलमैपर ठीक है। लेकिन मेरे लिए मैं प्रदर्शन प्रोजेक्ट के लिए अपनी परियोजना को डोजर से ओरीका में बदल रहा हूं। यद्यपि ओरीका डोजर के रूप में इतनी परिपक्व नहीं है, इतनी बुद्धिमानी नहीं है और मुझे अपनी अनुकूलित मैपिंग कॉन्फ़िगरेशन को बनाए रखने के लिए बहुत अतिरिक्त नौकरी करने की आवश्यकता है। यदि आपकी परियोजना को प्रदर्शन के बारे में भी परवाह नहीं है तो मैं आपको डोजर की अनुशंसा करता हूं, इसका उपयोग करना बहुत आसान है और कई उन्नत सुविधाओं का समर्थन करना बहुत आसान है। अन्यथा यदि आप उच्च प्रदर्शन खरीद रहे हैं, तो मैं आपको ओरिका का सुझाव देता हूं।

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