vaše chyba je pravděpodobně přesně to, co je uvedeno ve vaší výjimce:ConversionFailed Exception
způsobené tím, že se někdo/něco pokouší převést z ArrayList
na LinkedHashMap
; ale na to prostě neexistuje žádný vhodný převodník (ConverterNotFoundException
).
kde přesně se to děje, nelze říci, protože jste odeslali jen velmi málo kódu. Nemohu najít řetězec "myString" ve vašem kódu, přesto je uveden v chybě.
jarní data obvykle používají převodníky v procesu mapování. někteří lidé dávají přednost implementaci a registraci vlastního převodníku pro své třídy, aby měli větší kontrolu nad procesem mapování.
o převodnících si můžete přečíst zde
a zde
možná už to bude stačit na to, abyste chybu sami opravili.
Edit:krátký komentář k tomuto řádku:
potentialCandidatesObj.setPotentialcandidates((DBObject)JSON.parse(valStr));
přetypujete do DBObject před voláním setteru, protože setter bere objekt DBObject. to je špatné, měli byste vytvořit další setter pro JSON a provést přetypování tam, nebo skončíte tak, že budete dělat přetypování všude ve vašem kódu; to není moc SUCHÉ.
v jarních datech je také něco, co se nazývá 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.
můžete tomu dát přednost před vloženým objektem DBObject.