我正在使用 Spring JDBC,但我有点不确定如何处理多个一对多关系(或多对多)。在这种情况下,我将一个存储库注入到我的一个结果提取器中,以便我可以检索它的关联。这是这样做的方法吗?不好吗?还有其他更好的方法吗?
注意:我省略了存储库的注入
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 界面,我目前正在使用其他存储库来填充所有关联,就像我在示例中显示的那样。这是一个好方法吗?