का गहरा क्लोन मैं सोच रहा हूं कि मैं अपने सभी सहयोगियों के साथ एक सतत वस्तु की गहरी प्रति कैसे बना सकता हूं। मान लें कि मेरे पास निम्न मॉडल है।हाइबरनेट इकाई
class Document {
String title;
String content;
Person owner;
Set<Citation> citations;
}
class Person {
String name;
Set<Document> documents;
}
class Citation {
String title;
Date date;
Set<Document> documents;
}
मैं एक परिदृश्य है जिसमें एक उपयोगकर्ता एक व्यक्ति से एक विशेष दस्तावेज़ की एक प्रतिलिपि हड़पने और दस्तावेज़ उसकी/उसकी फिर बाद में वह/वह उसकी सामग्री और नाम बदल सकते हैं बनाने के लिए चाहते हो सकता है है। उस मामले में मैं उस तरह के परिदृश्य को लागू करने के एक तरीके के बारे में सोच सकता हूं जो उस दस्तावेज़ की गहरी प्रतिलिपि बना रहा है (इसके संघों के साथ)।
या शायद अगर किसी को डेटा की बड़ी प्रतिलिपि किए बिना ऐसी कोई काम करने का कोई अन्य संभावित तरीका पता है क्योंकि मुझे पता है कि यह ऐप प्रदर्शन के लिए बुरा हो सकता है।
मैं भी मूल दस्तावेज का संदर्भ बना रहा था जैसे कि originalDocument
विशेषता है लेकिन इस तरह से मैं यह नहीं जान पाऊंगा कि कौन सा विशेषता (या शायद एसोसिएशन) बदल दी गई है।
इस एक के साथ समस्या हो सकती है, यह नहीं कर सकते आलसी लोड संग्रह और संस्करण गुणों को संभालें। आईएमएचओ बेहतर तरीका प्रत्येक वर्ग में गहरी प्रतिलिपि विधियों को लिख देगा। –
आलसी फ़ील्ड को संभाल नहीं सकता है, नए क्लोन ऑब्जेक्ट में आलसी संग्रह शुरू करने में विफल रहा है। –
आप जैक्सन में जर्सन में सीरियलाइज के लिए जैक्सन का उपयोग कर सकते हैं, यह हाइबरनेट आलसी लोडिंग को संभालता है (आपको इसे कॉन्फ़िगर करना होगा) –