ドーザーでデータをマッピングするための助けとヒントが必要です。
次の状況が存在します。
- サービス層から文字列 [ ] [ ] を取得しています。
- 最初の [ ] は行を表します
- 2 番目の [ ] は列を表します
参考:このデータはリクエストパラメータ「table」に依存します。
// exemplary service call
String[] [] result = service.getData (String table);
String[] [] result = service.getData (Enum table);
パラメータ テーブルによっては、別の宛先エンティティを使用する必要があります。
例 :
- パラメータ「table_a」の文字列[][]は、宛先オブジェクト「com.foo.TableA」を使用する必要があります
- パラメータ「table_b」の文字列[][]は、宛先オブジェクト「com.bar.TableB」を使用する必要があります
サービス層は変更できません。レイヤーは常にこのデータ構造を結果として返します。
私の問題は、この状況の良い出発点がないことです。
最初の [] を反復する必要があり、次にパラメーター table に依存するため、マッピングを行う必要があります。
// useful way?
List<com.foo.TableA> mappedResult = new ArrayList<com.foo.TableA>();
for (int i = 0; i < result.size ; i++) {
String[] rowData = result[i];
mappedResult.add(mapper.map(rowData; com.foo.TableA.class));
}
// mapping.xml
<mappings>
<mapping>
<class-a>how to configure String[] ? </class-a>
<class-b> com.foo.TableA </class-b>
<field>
<a>src[0] </a> // 1st column
<b>column_id</b>
</field>
<mapping>
</mappings>
どんなヒントでも大歓迎です!
前もって感謝します