Thanks for the solution. Using two query did it and I don't have to worry
about N+1 problem here as we need to load only one reportGroup
(getReportGroupById) but not their collection. Will try rowhandler later.
Thanks once again for quick response.
Larry Meadors wrote:
>
> I don't think you'll be able to accomplish that without using either 2
> queries or a rowhandler.
>
> RowHandlers are really simple to write (1 method in the interface),
> and then you get all the data in one query, and can do pretty much
> anything you want with it.
>
> Larry
>
>
> On Thu, Jul 10, 2008 at 5:36 AM, John Dahl <[EMAIL PROTECTED]>
> wrote:
>>
>> I am having similar problems but can't find any solution.
>> Here is my case.
>>
>> report_group can have many report_types and many reports. No relation
>> exists
>> for report_type and reports. Here is the result of a query to get a
>> report_group.
>>
>> report_group_id report_id report_type_id
>> 100 35 1
>> 100 35 2
>> 100 36 1
>> 100 36 2
>> 100 37 1
>> 100 37 2
>>
>> Now, desired result is:
>> ReportGroup with
>> 3 Report {35, 36, 37} and 3 ReportType {1, 2}.
>>
>> I have put groupBy="id" in all of the 3 resultMap (report_group, reports,
>> report_types), but I am getting a ReportGroup with
>> 3 Report {35, 36, 37}
>> & 6 ReportType(1, 2, 1, 2, 1, 2) i.e. 6 ReportType object being repeated
>> with every Report.
>>
>> How can I solve the problem? Any help is greatly appreciated.
>>
>>
>>
>> Heinrich Götzger wrote:
>>>
>>> Hello,
>>>
>>> I'm wondering if iBATS help me for solving _two_ N plus 1 problems
>>> within one select:
>>>
>>> Let's assume a result as follows:
>>>
>>> main group_A group_b
>>> -------------------------------
>>> parent1, child_a1, null
>>> parent1, child_a2, null
>>> parent1, null, child_b1
>>> parent1, null, child_b2
>>> parent2, child_a4, null
>>> parent2, null, child_b3
>>> parent3, child_a5, null
>>> parent3, child_a6, null
>>> parent3, child_a7, null
>>> parent3, null, child_b4
>>>
>>> How would I get a list of main-beans with:
>>> - parent1: containing list child_a(a1, a2), list child_b(b1, b2)
>>> - parent2: containing list child_a(a4), list child_b(b3)
>>> - parent3: containing list child_a(a5, a6, a7), list child_b(b4)
>>>
>>> Group a and group b are not related to each other. They are only related
>>> to parent
>>>
>>> A more convenient solution could be the usage of collection types in the
>>> result set. This would lead to a collection of group a and one of group
>>> b. The resulting main-beans would be the same.
>>> Is there some support in iBATIS for collection types?
>>>
>>>
>>> Thanks for some thoughts and some help.
>>>
>>> Cheers
>>>
>>> Heinrich
>>>
>>>
>>
>> --
>> View this message in context:
>> http://www.nabble.com/Having-two-N-plus-1-groups-tp18361780p18380979.html
>> Sent from the iBATIS - User - Java mailing list archive at Nabble.com.
>>
>>
>
>
--
View this message in context:
http://www.nabble.com/Having-two-N-plus-1-groups-tp18361780p18396957.html
Sent from the iBATIS - User - Java mailing list archive at Nabble.com.