あなたのエラーはおそらくあなたの例外でそれが言っていることとまったく同じです:ConversionFailed Exception
ArrayList
から変換しようとしている誰か/何かによって引き起こされます LinkedHashMap
に;しかし、それにふさわしいコンバーターはありません(ConverterNotFoundException
)。
あなたが投稿したコードはごくわずかなので、正確にこれが起こっている場所を言うことは不可能です。コードに文字列「myString」が見つかりませんが、エラーに記載されています。
春のデータは通常、マッピングプロセスでコンバーターを使用します。マッピングプロセスをより細かく制御するために、クラスのカスタムコンバーターを実装して登録することを好む人もいます。
ここでコンバーターについて読むことができます
そしてここ
たぶん、これはあなたが自分でエラーを修正するのにすでに十分でしょう。
編集:この行についての短いコメント:
potentialCandidatesObj.setPotentialcandidates((DBObject)JSON.parse(valStr));
セッターはDBObjectを取得するため、セッターを呼び出す前にDBObjectにキャストします。これは悪いことです。JSON用に別のセッターを作成してそこでキャストする必要があります。そうしないと、コード内のあらゆる場所でそのキャスト操作を実行することになります。それはあまり乾燥していません。
SpringデータにはDBRefと呼ばれるものもあります。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よりもこれを好むかもしれません。