You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-java@ibatis.apache.org by soussou97 <db...@yahoo.fr> on 2006/10/19 13:05:06 UTC

Multiple Joins

Hi;

I Search an example of code source with mutltiple joins implying lists :

T1 => 1..*T2 => 1..*T3 => 1..1 T4 or any exemple with several tables and
java beans and list of objects.

Regards;
-- 
View this message in context: http://www.nabble.com/Multiple-Joins-tf2472615.html#a6894554
Sent from the iBATIS - User - Java mailing list archive at Nabble.com.


Re: Multiple Joins

Posted by Larry Meadors <lm...@apache.org>.
I am not sure what you are asking.

A bean like this would work fine:

Integer catid;
String catname;
List<Product> prodList;

Larry


On 11/10/06, soussou97 <db...@yahoo.fr> wrote:
>
> Hi Larry;
>
> I would like to come back on this subject.
> The solution that you propose need to change the javabean as in the link :
>
> CategorisedProductList with properties
> Category cat;
> List<Product> prodList;
>
> Category with properties
> Integer catid;
> String catname;
>
> Product with properties
> Integer prodid;
> String prodname;
>
> whereas the standard implementation is :
>
> Category with properties
> Integer catid;
> String catname;
> List<Product> prodList;
>
> Product with properties
> Integer prodid;
> String prodname;
>
> I am obliged to add the javabean below to fetch in the base ?
>
> CategorisedProductList with properties
> Category cat;
> List<Product> prodList;
>
> I think that it is heavy ! there are not other solutions more flexible ?
>
> regards
>
>
>
>
>
>
>
> Larry Meadors-2 wrote:
> >
> > Try:
> >
> > http://opensource.atlassian.com/confluence/oss/display/IBATIS/How+do+I+get+around+the+N+Plus+1+selects+problem
> >
> >  - or (same page, shorter link) -
> >
> > http://tinyurl.com/ydbn4c
> >
> > Also, please spend some time looking at the WIKI, almost every new
> > user question is covered there.
> >
> > Larry
> >
> >
> > On 10/19/06, soussou97 <db...@yahoo.fr> wrote:
> >>
> >> Hi;
> >>
> >> I Search an example of code source with mutltiple joins implying lists :
> >>
> >> T1 => 1..*T2 => 1..*T3 => 1..1 T4 or any exemple with several tables and
> >> java beans and list of objects.
> >>
> >> Regards;
> >> --
> >> View this message in context:
> >> http://www.nabble.com/Multiple-Joins-tf2472615.html#a6894554
> >> Sent from the iBATIS - User - Java mailing list archive at Nabble.com.
> >>
> >>
> >
> >
>
> --
> View this message in context: http://www.nabble.com/Multiple-Joins-tf2472615.html#a7275428
> Sent from the iBATIS - User - Java mailing list archive at Nabble.com.
>
>

Re: Multiple Joins

Posted by soussou97 <db...@yahoo.fr>.
Hi Larry;

I would like to come back on this subject.
The solution that you propose need to change the javabean as in the link :

CategorisedProductList with properties
Category cat;
List<Product> prodList;

Category with properties
Integer catid;
String catname;

Product with properties
Integer prodid;
String prodname;

whereas the standard implementation is :

Category with properties
Integer catid;
String catname;
List<Product> prodList;

Product with properties
Integer prodid;
String prodname;

I am obliged to add the javabean below to fetch in the base ?

CategorisedProductList with properties
Category cat;
List<Product> prodList;

I think that it is heavy ! there are not other solutions more flexible ?

regards







Larry Meadors-2 wrote:
> 
> Try:
> 
> http://opensource.atlassian.com/confluence/oss/display/IBATIS/How+do+I+get+around+the+N+Plus+1+selects+problem
> 
>  - or (same page, shorter link) -
> 
> http://tinyurl.com/ydbn4c
> 
> Also, please spend some time looking at the WIKI, almost every new
> user question is covered there.
> 
> Larry
> 
> 
> On 10/19/06, soussou97 <db...@yahoo.fr> wrote:
>>
>> Hi;
>>
>> I Search an example of code source with mutltiple joins implying lists :
>>
>> T1 => 1..*T2 => 1..*T3 => 1..1 T4 or any exemple with several tables and
>> java beans and list of objects.
>>
>> Regards;
>> --
>> View this message in context:
>> http://www.nabble.com/Multiple-Joins-tf2472615.html#a6894554
>> Sent from the iBATIS - User - Java mailing list archive at Nabble.com.
>>
>>
> 
> 

-- 
View this message in context: http://www.nabble.com/Multiple-Joins-tf2472615.html#a7275428
Sent from the iBATIS - User - Java mailing list archive at Nabble.com.


RE: Multiple Joins

Posted by Pa...@cexp.com.
This should be in the docs. I wasn't sure if it was supported, so I tried it and it worked. Because it's not obvious that multiple groupBy attributes will work, it should be documented.

-----Original Message-----
From: Jeff Butler [mailto:jeffgbutler@gmail.com]
Sent: Friday, October 20, 2006 6:21 AM
To: user-java@ibatis.apache.org
Subject: Re: Multiple Joins


This really isn't that difficult.  Join your three tables in the query, then do a groupBy on the nested result maps.  Have you tried it?
 
<resultMap id="t1" class="T1Class" groupBy="t1key">
  ...
  <result column="t2Objects" resultMap="t2"/>
</resultMap>
 
<resultMap id="t2" class="T2Class" groupBy="t2key">
  ...
  <result column="t3Objects" resultMap="t3"/>
</resultMap>
 
<resultMap id="t3" class="T3Class">
  ...
</resultMap>
 
You can carry this on for as many tables as you need.

Jeff Butler
 

 
On 10/20/06, soussou97 < dboussebha@yahoo.fr> wrote: 


Hi Larry;

I see already this example it shows a simple example with  only one join but
a multiple Joins (with for example 3 tables : T1 => 1..* T2 => 1..*T3). 


Larry Meadors-2 wrote:
>
> Try:
>
> http://opensource.atlassian.com/confluence/oss/display/IBATIS/How+do+I+get+around+the+N+Plus+1+selects+problem  <http://opensource.atlassian.com/confluence/oss/display/IBATIS/How+do+I+get+around+the+N+Plus+1+selects+problem> 
>
>  - or (same page, shorter link) -
>
> http://tinyurl.com/ydbn4c
>
> Also, please spend some time looking at the WIKI, almost every new
> user question is covered there.
>
> Larry
>
>
> On 10/19/06, soussou97 < dboussebha@yahoo.fr> wrote:
>>
>> Hi;
>> 
>> I Search an example of code source with mutltiple joins implying lists :
>>
>> T1 => 1..*T2 => 1..*T3 => 1..1 T4 or any exemple with several tables and
>> java beans and list of objects. 
>>
>> Regards;
>> --
>> View this message in context:
>> http://www.nabble.com/Multiple-Joins-tf2472615.html#a6894554  <http://www.nabble.com/Multiple-Joins-tf2472615.html#a6894554> 
>> Sent from the iBATIS - User - Java mailing list archive at Nabble.com.
>>
>>
>
>

--
View this message in context: http://www.nabble.com/Multiple-Joins-tf2472615.html#a6911430
Sent from the iBATIS - User - Java mailing list archive at Nabble.com.





Re: Multiple Joins

Posted by Jeff Butler <je...@gmail.com>.
This really isn't that difficult.  Join your three tables in the query, then
do a groupBy on the nested result maps.  Have you tried it?

<resultMap id="t1" class="T1Class" groupBy="t1key">
  ...
  <result column="t2Objects" resultMap="t2"/>
</resultMap>

<resultMap id="t2" class="T2Class" groupBy="t2key">
  ...
  <result column="t3Objects" resultMap="t3"/>
</resultMap>

<resultMap id="t3" class="T3Class">
  ...
</resultMap>

You can carry this on for as many tables as you need.

Jeff Butler



On 10/20/06, soussou97 <db...@yahoo.fr> wrote:
>
>
> Hi Larry;
>
> I see already this example it shows a simple example with  only one join
> but
> a multiple Joins (with for example 3 tables : T1 => 1..* T2 => 1..*T3).
>
>
> Larry Meadors-2 wrote:
> >
> > Try:
> >
> >
> http://opensource.atlassian.com/confluence/oss/display/IBATIS/How+do+I+get+around+the+N+Plus+1+selects+problem
> >
> >  - or (same page, shorter link) -
> >
> > http://tinyurl.com/ydbn4c
> >
> > Also, please spend some time looking at the WIKI, almost every new
> > user question is covered there.
> >
> > Larry
> >
> >
> > On 10/19/06, soussou97 <db...@yahoo.fr> wrote:
> >>
> >> Hi;
> >>
> >> I Search an example of code source with mutltiple joins implying lists
> :
> >>
> >> T1 => 1..*T2 => 1..*T3 => 1..1 T4 or any exemple with several tables
> and
> >> java beans and list of objects.
> >>
> >> Regards;
> >> --
> >> View this message in context:
> >> http://www.nabble.com/Multiple-Joins-tf2472615.html#a6894554
> >> Sent from the iBATIS - User - Java mailing list archive at Nabble.com.
> >>
> >>
> >
> >
>
> --
> View this message in context:
> http://www.nabble.com/Multiple-Joins-tf2472615.html#a6911430
> Sent from the iBATIS - User - Java mailing list archive at Nabble.com.
>
>

Re: Multiple Joins

Posted by soussou97 <db...@yahoo.fr>.
Hi Larry;

I see already this example it shows a simple example with  only one join but
a multiple Joins (with for example 3 tables : T1 => 1..* T2 => 1..*T3).


Larry Meadors-2 wrote:
> 
> Try:
> 
> http://opensource.atlassian.com/confluence/oss/display/IBATIS/How+do+I+get+around+the+N+Plus+1+selects+problem
> 
>  - or (same page, shorter link) -
> 
> http://tinyurl.com/ydbn4c
> 
> Also, please spend some time looking at the WIKI, almost every new
> user question is covered there.
> 
> Larry
> 
> 
> On 10/19/06, soussou97 <db...@yahoo.fr> wrote:
>>
>> Hi;
>>
>> I Search an example of code source with mutltiple joins implying lists :
>>
>> T1 => 1..*T2 => 1..*T3 => 1..1 T4 or any exemple with several tables and
>> java beans and list of objects.
>>
>> Regards;
>> --
>> View this message in context:
>> http://www.nabble.com/Multiple-Joins-tf2472615.html#a6894554
>> Sent from the iBATIS - User - Java mailing list archive at Nabble.com.
>>
>>
> 
> 

-- 
View this message in context: http://www.nabble.com/Multiple-Joins-tf2472615.html#a6911430
Sent from the iBATIS - User - Java mailing list archive at Nabble.com.


Re: Multiple Joins

Posted by Larry Meadors <lm...@apache.org>.
Try:

http://opensource.atlassian.com/confluence/oss/display/IBATIS/How+do+I+get+around+the+N+Plus+1+selects+problem

 - or (same page, shorter link) -

http://tinyurl.com/ydbn4c

Also, please spend some time looking at the WIKI, almost every new
user question is covered there.

Larry


On 10/19/06, soussou97 <db...@yahoo.fr> wrote:
>
> Hi;
>
> I Search an example of code source with mutltiple joins implying lists :
>
> T1 => 1..*T2 => 1..*T3 => 1..1 T4 or any exemple with several tables and
> java beans and list of objects.
>
> Regards;
> --
> View this message in context: http://www.nabble.com/Multiple-Joins-tf2472615.html#a6894554
> Sent from the iBATIS - User - Java mailing list archive at Nabble.com.
>
>