मेरे दृष्टिकोण से, कुछ विशेष गुणों को मानचित्रित करने के लिए कॉन्फ़िगरेशन या जावा कोड हमेशा आवश्यक है।
यहाँ मैं उदाहरण के लिए एक 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 या जावा के माध्यम से) करने की आवश्यकता है, तो आप ऐसा करना चाहते हैं। मुझे लगता है कि आपके उपयोग के मामले में, डोज़र, ओरीका और मॉडलमैपर ठीक है। लेकिन मेरे लिए मैं प्रदर्शन प्रोजेक्ट के लिए अपनी परियोजना को डोजर से ओरीका में बदल रहा हूं। यद्यपि ओरीका डोजर के रूप में इतनी परिपक्व नहीं है, इतनी बुद्धिमानी नहीं है और मुझे अपनी अनुकूलित मैपिंग कॉन्फ़िगरेशन को बनाए रखने के लिए बहुत अतिरिक्त नौकरी करने की आवश्यकता है। यदि आपकी परियोजना को प्रदर्शन के बारे में भी परवाह नहीं है तो मैं आपको डोजर की अनुशंसा करता हूं, इसका उपयोग करना बहुत आसान है और कई उन्नत सुविधाओं का समर्थन करना बहुत आसान है। अन्यथा यदि आप उच्च प्रदर्शन खरीद रहे हैं, तो मैं आपको ओरिका का सुझाव देता हूं।
स्रोत
2012-08-16 02:39:17
एक और विकल्प http://jtransfo.org/ होगा। यह मैपिंग को TO पर एनोटेशन का उपयोग करके परिभाषित करने की अनुमति देता है। इसमें अतिरिक्त सुविधा है कि टैग के आधार पर आपके पास सुरक्षा/वैकल्पिक रूपांतरण हो सकते हैं। –
https://github.com/amgohan/zebra/ पर एक नज़र डालें: (DIY ऑब्जेक्ट मैपिंग और मैपर्स इंजेक्ट करने के लिए एकीकृत तरीके के लिए ज़ेबरा का उपयोग करें।) ज़ेबरा एक सरल और एकीकृत तरीके से आते हैं: अपने मैपर बनाएं; एक वर्ग में एक तरफ और रिवर्स मैपिंग प्रबंधित करें; अपने मैपर पंजीकृत करें और अपने आवेदन में कहीं भी उनका पुन: उपयोग करें; गहरी मैपिंग का प्रबंधन करें। – amgohan
यह एक बहुत अच्छा विकल्प है: http://modelmapper.org/ – cosbor11