0

変換エラーを寛大に処理できる方法があるかどうか疑問に思いました。

List[ModelObject]を返すクエリがあるとします。

5つのDBObjectが取得され、そのうちの1つがModelObjectに変換されたときにConversionExceptionをスローしている場合、4つの変換可能なオブジェクトを返し、1つの変換失敗のフックを提供する方法はありますか?

4

1 に答える 1

1

少し遅れましたが、この回答は他の人の検索に役立つかもしれません

ポリシーに基づいてこれを行うのが良いことに同意します。現時点では、変換エラーが 1 つ発生すると、リストがまったく表示されません。これが有効な必要性であるユースケースがあると思います。

ただし、できないため、寛大に変換する ModelObject のカスタム コンバーターを登録する必要があります...

public class DBObjectToModelObjectConverter implements Converter<DBObject,ModelObject>{

    public ModelObject convert(DBObject s) {
        ... Read from the DBObject into your ModelObject and work around the bad data
    }
}

次に、これをカスタム コンバーターとして Bean 定義に登録します。何かのようなもの:

<bean id="lenientModelReadConverter" class="com.my.DBObjectToModelObjectConverter"/>

<mongo:custom-converters>
   <mongo:converter ref="lenientModelReadConverter"/>
</mongo:custom-converters>
于 2013-01-14T11:42:14.347 に答える