Granny's Programming Pearls
"inside of every large program is a small program struggling to get out"
The moose likes Object Relational Mapping and the fly likes iBatis resultMap groupBy Question Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of REST with Spring (video course) this week in the Spring forum!
JavaRanch » Java Forums » Databases » Object Relational Mapping
Bookmark "iBatis resultMap groupBy Question" Watch "iBatis resultMap groupBy Question" New topic

iBatis resultMap groupBy Question

aditee sharma
Ranch Hand

Joined: Jul 22, 2008
Posts: 182
Given parent table : ORDER_ITEMS
related to child table : ITEM_SHIPMENT by two keys ORDER_ID and ORDER_LINE_ID (both the keys are required to establish a precise parent-child relation)
if we want to get a list of child table a store in a parent object in iBatis, we do :
<resultMap id="parent" class="Parent" groupBy="parentId">

But in this case, we have 2 keys, so I do not know how to do it.
Can groupBy be mapped to another class that can have both these keys as members ?
aditee sharma
Ranch Hand

Joined: Jul 22, 2008
Posts: 182
correction :
if we want to fetch child records and store in parent object
aditee sharma
Ranch Hand

Joined: Jul 22, 2008
Posts: 182
is ther no body who has faced this situation ?
How do we put a composite key in groupBy of Ibatis resultMap
Dhananjay Patkar

Joined: Aug 12, 2008
Posts: 8
Hi aditee,
It seems you are facing N+1 problem in iBatis...Which is fully solvable
Below code snipet will solve your problem
This is from iBatis Developer guide

myList is a List of beans containing type
"com.ibatis.example.Category". Each object in that List will have a "productList" property that is also a List
populated from the same query, but using the "productResult" result map to populate the beans in the child
list. So, you end up with a list containing sub-lists, and only one database query is executed and both child and parent list are get popultaed as expected..

I agree. Here's the link:
subject: iBatis resultMap groupBy Question
It's not a secret anymore!