के लिए स्प्रिंग डाटा MongoDB मैं MongoDB में एक संग्रह करने के लिए विभिन्न डेटा स्टोर और उचित क्षेत्र के साथ वसंत डेटा सेम करना चाहते हैं.. वर्ग विरासत
क्षमा करें, मैं छोड़ विवरण है।
जनक सेम:
class A
int a
चाइल्ड्स:
class B extends A
double b
class C extends A
String c
तो, वहाँ मोंगो
{a : 1, b : 2.3, c : "Test"}
जब मैं डेटा लाने, यह ठीक है में दस्तावेज़ निम्नलिखित है। लेकिन, जब मैं फोन बी के लिए CrudRepository से बचाने विधि, यह सब डेटा का पुनर्लेखन और मैं इस तरह के
update.set("b", newvalue)...
के रूप में सी
खो
मैं केवल एक अच्छा कस्टम बनाने के वृद्धिशील अद्यतन के साथ विधि सहेजने के लिए विकल्प पता है,
लेकिन प्रतिबिंब के साथ।
क्या आपके पास कोई अन्य विचार है?
अग्रिम धन्यवाद।
क्या आपको 'मोंगो टेम्पलेट' और आपके भंडार के साथ बातचीत पर थोड़ा अधिक वर्बोज़ होना चाहिए? क्या आप डेटा को 'बी' की वस्तु में वापस पढ़ रहे हैं? वास्तव में इसे 'सी' प्रकार की वस्तु वापस करनी चाहिए क्योंकि हमें संग्रहीत प्रकार की जानकारी का पता लगाना चाहिए। इसके अलावा संग्रह मैपिंग जानकारी सहायक होगी। सुनिश्चित करें कि सभी वर्ग एक ही संग्रह में मैप किए गए हैं। –
हाय ओलिवर, आपके उत्तर के लिए धन्यवाद। हां, मैंने अद्यतन क्वेरी का उपयोग करने के लिए 'MongoTemplate' की 'सेव' विधि को ओवरराइड कर दिया है। अब जब मैं 'बी' को सहेजता हूं, तो यह केवल 'बी' फ़ील्ड अपडेट करता है। लेकिन मैं अधिक भयानक समाधान खोजने की कोशिश करता हूं ... –
यदि आप प्रासंगिक कोड स्निपेट जोड़ते हैं तो हम इस मुद्दे को थोड़ा और अधिक कर सकते हैं :) –