грешката ви вероятно е точно това, което пише във вашето изключение:ConversionFailed Exception
причинено от някой/нещо, което се опитва да конвертира от ArrayList
към LinkedHashMap
; но просто няма подходящ конвертор за това (ConverterNotFoundException
).
къде точно се случва това е невъзможно да се каже, тъй като сте публикували само много малко код. не мога да намеря низа "myString" във вашия код, но той е споменат в грешката.
spring data обикновено използва конвертори в своя процес на картографиране. за да имат повече контрол върху процеса на картографиране, някои хора предпочитат да внедрят и регистрират персонализиран конвертор за своите класове.
можете да прочетете за конверторите тук
и тук
може би това вече ще е достатъчно, за да коригирате грешката сами.
Редактиране:кратък коментар за този ред:
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.