ditt fel är förmodligen exakt vad det står i ditt undantag:ett ConversionFailed Exception
orsakas av någon/något som försöker konvertera från ArrayList
till en LinkedHashMap
; men det finns bara ingen passande omvandlare för det (ConverterNotFoundException
).
var exakt detta händer är omöjligt att säga eftersom du bara postade väldigt lite kod. Jag kan inte hitta strängen "myString" i din kod, men den nämns i felet.
vårdata använder vanligtvis omvandlare i sin kartläggningsprocess. för att ha mer kontroll över kartläggningsprocessen föredrar vissa människor att implementera och registrera en anpassad omvandlare för sina klasser.
du kan läsa om omvandlare här
och här
kanske räcker detta redan för att du själv ska kunna fixa felet.
Edit:en kort kommentar om denna rad:
potentialCandidatesObj.setPotentialcandidates((DBObject)JSON.parse(valStr));
du castar till DBObject innan du anropar sättaren, eftersom sättaren tar ett DBObject. det här är dåligt, du bör skapa en annan sättare för JSON och göra castingen där, annars kommer du att göra den castingen överallt i din kod; det är inte särskilt torrt.
det finns också något som kallas DBRefs i vårdata: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.
du kanske föredrar detta framför ett inbäddat DBO-objekt.