やりたいこと
- Aテーブルからレコード取得
- Bテーブルからレコード取得
- AとBの値をCにコピー
やったこと
// DBからレコードを取得
ADto aRecord = mapper.getA();
BDto bRecord = mapper.getB();
CDto result = new CDto();
// ADtoとCDto、BDtoとCDtoのうち、重複したプロパティの値をコピーする
BeanUtils.copyProperties(aRecord, result);
BeanUtils.copyProperties(bRecord, result);
注意点
- コピー対象はプロパティ(getXxx, setXxx)が一致するもののみ
- 同じプロパティがない場合、例外は発生せず正常に処理される
- コピーする件数が少ない場合はgetter, setterを使用した方が確実
- 複数回同一のオブジェクトにコピーする場合、プロパティが重複していると後勝ちになる
取り上げているのはspringframeworkのメソッドです。
apacheの同名メソッドは引数がコピー先, コピー元で逆になっているので注意