2010-02-15 23 views
6

के साथ डीटीओ रूपांतरण की इकाई मैं अपने वेब अनुप्रयोग में अपनी कक्षाओं को स्टोर करने के लिए जेपीए कार्यान्वयन के रूप में डेटा न्यूक्लियस का उपयोग कर रहा हूं। मैं कन्वर्टर्स का एक सेट उपयोग करता हूं जिसमें सभी toDTO() और fromDTO() हैं।जेपीए

मेरे मुद्दा है, कि मैं पूरी डीबी से बचना चाहते हैं तार पर भेजा जा रहा है:

  • अगर मैं आलसी लोड, कनवर्टर सभी क्षेत्रों तक पहुँचने के लिए तो लोड की कोशिश करेंगे, और (बहुत जिसका परिणाम उत्सुक लोडिंग)।
  • यदि मैं आलसी लोड नहीं करता हूं, तो मुझे डीबी का एक बड़ा हिस्सा मिल जाएगा, क्योंकि उपयोगकर्ता में समूह होते हैं, और समूहों में उपयोगकर्ता होते हैं, और इसी तरह।

क्या कुछ फ़ील्ड स्पष्ट रूप से लोड करने और दूसरों को मेरी लोड कक्षा में न्यूल के रूप में छोड़ने का कोई तरीका है? मैंने कोई भाग्य के साथ डेटा न्यूक्लियस दस्तावेज़ों की कोशिश की है।

उत्तर

3

आपके डीटीओ शायद बहुत अच्छे हैं। यानी प्रति जेपीए इकाई के लिए डीटीओ रखने की योजना नहीं है। यदि आपको डीटीओ का उपयोग करना है तो उन्हें अधिक मोटे अनाज बनाएं और उन्हें मैन्युअल रूप से बनाएं।

हाल ही में हमारे पास पूरा "डीटीओ या डीटीओ नहीं है, यही सवाल है" चर्चा फिर से। उनके लिए आवश्यकता (विशेष रूप से जेपीए ऐप के संदर्भ में) अक्सर वहां नहीं होती है, लेकिन डीटीओ के लिए तर्कों में से एक यह है कि दृश्य में डेटा की आवश्यकताएं हैं।

+0

क्या आपका मतलब है, डीटीओ का एक सेट प्रत्येक दृश्य द्वारा उपयोग किया जाना है? किसी उपयोगकर्ता को ऐसे "समूह" फ़ील्ड के साथ देखने के लिए भेजने के लिए जो उपयोगकर्ता के समूह को जानने की आवश्यकता नहीं है, और इसी तरह? – WhyNotHugo

+1

यह वास्तव में आपके आवेदन पर निर्भर करता है और आप इसे कैसे आर्किटेक्ट कर रहे हैं। आप इसके बारे में एक वेब अनुप्रयोग होने के बारे में बात करते हैं लेकिन एक ही सांस में आप तार पर भेजे जा रहे चीजों के बारे में चिंतित हैं। क्या तार? ऐपसेवर और डेटाबेस या दृश्य और मॉडल/नियंत्रक परत के बीच तार्किक तार, या एक ब्राउज़र AJAX कॉल और सर्वर के बीच तार के बीच तार? –

+1

मुख्य रूप से, ब्राउज़र और सर्वर के बीच का तार, लेकिन मैं डीबी <-> जावा सर्वर डेटा को भी परेशान करने के लिए भी कम करना चाहता हूं ... मुझे लगता है कि आलसी लोडिंग और एक डीटीओ प्रति दृश्य कार्यों का उपयोग करके, मॉडल को कनवर्ट करते समय , मैं आकस्मिक रूप से आलसी लोड अनावश्यक डेटा नहीं दूंगा, और मैं केवल वही भेजता हूं जो दृश्य की जरूरत है। यह अधिक काम है (बहुत अधिक कक्षाएं) लेकिन मुझे कोई विकल्प नहीं दिख रहा है। धन्यवाद। – WhyNotHugo