This is what the rs
gets as a result:
Order(id=1, orderNumber=A1, orderRows=[OrderRow(itemName=Motherboard, quantity=0, price=5), OrderRow(itemName=Cpu, quantity=5, price=0)])
And now I am trying to get both of the 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;
};
}
This is how I would do it if i could do it in a loop
if I could seperate the OrderRows
somehow:
//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")));
}
}
I have two Objects
one is Order
and the other one is OrderRow
. Is it possible to create multiple objects in one RowMapper
, both Order/OrderRow
or do I need multiple requests for that?
Or can I somehow go over all of the OrderRows
that are in the result set and add make them into OrderRow
objects in the iteration?