Вот что rs
получает в результате:
Order(id=1, orderNumber=A1, orderRows=[OrderRow(itemName=Motherboard, quantity=0, price=5), OrderRow(itemName=Cpu, quantity=5, price=0)])
А сейчас я пытаюсь получить оба OrderRows
:
private RowMapper<Order> getPostRowMapper() {
return (rs, rowNum) -> {
Order order = new Order();
order.setId(rs.getLong("id"));
order.setOrderNumber(rs.getString("ordernumber"));
System.out.println("quan" + rs.getString("quantity")); // Prints 0
System.out.println("quan" + rs.getString("price")); // Prints 5
System.out.println("quan" + rs.getString("quantity")); // Prints 0 (should print 5)
return order;
};
}
Вот как бы я это сделал, если бы мог сделать это в a loop
, если бы мог каким-то образом отделить OrderRows
:
//For the first iteration
if(resultSet.getString("itemname") != null){
order.add(new OrderRow(resultSet.getString("itemname"),
resultSet.getInt("quantity"), resultSet.getInt("price")));
}
while (resultSet.next()){
if(resultSet.getString("itemname") != null){
order.add(new OrderRow(resultSet.getString("itemname"),
resultSet.getInt("quantity"), resultSet.getInt("price")));
}
}
У меня есть два Objects
один - Order
, а другой - OrderRow
. Можно ли создать несколько объектов в одном RowMapper
, оба Order/OrderRow
или мне нужно несколько запросов для этого?
Или я могу как-то просмотреть все OrderRows
, которые есть в наборе результатов, и добавить сделать их в OrderRow
объекты в итерации?