私は Spring JDBC を使用していますが、複数の 1 対多の関係 (または多対多) を操作する方法が少しわかりません。この場合、resultsetextractor の 1 つにリポジトリを挿入して、その関連付けを取得できるようにします。これはそれを行う方法ですか?悪いですか?他に良い方法はありますか?
注:リポジトリの注入を省略しました
public class SomeResultSetExtractor implements ResultSetExtractor {
public Object extractData(ResultSet rs) throws SQLException, DataAccessException {
List result = new LinkedList();
while (rs.next()) {
SomeObject object = new SomeObject(rs.getString(1), rs.getLong(2));
result.add(object);
List<AnotherObject> otherObjects = anotherRepository.findAllById(object.getId);
object.setOtherObjects(otherObjects);
// and so on
}
return result;
}
}
Dmytro Polivenok の回答を読んだ後、代わりに RowMapper インターフェイスに変更しました。現在、例に示すように、他のリポジトリを使用してすべての関連付けを設定しています。これは良い方法ですか?