आपकी त्रुटि शायद ठीक वही है जो यह आपके अपवाद में कहती है:एक ConversionFailed Exception
ArrayList
. से कन्वर्ट करने की कोशिश कर रहे किसी व्यक्ति/वस्तु के कारण एक LinkedHashMap
. पर; लेकिन उसके लिए कोई उपयुक्त कनवर्टर नहीं है (ConverterNotFoundException
)
जहां वास्तव में यह हो रहा है, यह कहना असंभव है क्योंकि आपने केवल बहुत कम कोड पोस्ट किया है। मुझे आपके कोड में स्ट्रिंग "myString" नहीं मिल रही है, फिर भी त्रुटि में इसका उल्लेख किया गया है।
स्प्रिंग डेटा आमतौर पर अपनी मैपिंग प्रक्रिया में कन्वर्टर्स का उपयोग करता है। मैपिंग प्रक्रिया पर अधिक नियंत्रण रखने के लिए कुछ लोग अपनी कक्षाओं के लिए कस्टम कनवर्टर को लागू करना और पंजीकृत करना पसंद करते हैं।
आप यहां कन्वर्टर्स के बारे में पढ़ सकते हैं
और यहाँ
हो सकता है कि यह आपके लिए त्रुटि को स्वयं ठीक करने के लिए पहले से ही पर्याप्त होगा।
संपादित करें:इस पंक्ति के बारे में एक संक्षिप्त टिप्पणी:
potentialCandidatesObj.setPotentialcandidates((DBObject)JSON.parse(valStr));
आप सेटर को कॉल करने से पहले DBObject पर कास्टिंग कर रहे हैं, क्योंकि सेटर एक DBObject लेता है। यह बुरा है, आपको JSON के लिए एक और सेटर बनाना चाहिए और वहां कास्टिंग करना चाहिए, या आप अपने कोड में हर जगह उस कास्टिंग ऑपरेशन को समाप्त कर देंगे; यह बहुत शुष्क नहीं है।
स्प्रिंग डेटा में DBRefs नाम की कोई चीज़ भी होती है:The mapping framework doesn't have to store child objects embedded within the document. You can also store them separately and use a DBRef to refer to that document. When the object is loaded from MongoDB, those references will be eagerly resolved and you will get back a mapped object that looks the same as if it had been stored embedded within your master document.
आप इसे एक एम्बेडेड DBObject पर पसंद कर सकते हैं।