ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Prateek Asthana" <hkprat...@gmail.com>
Subject Re: Complex Collections - More than one foreign key
Date Sun, 25 May 2008 01:50:10 GMT
Clinton,
Thanks for your reply. I have one more question pertaining to the
implementation details. As we see for the below example one Order can
have multiple Order Items. Talking in terms of Java, how does the
order Order class store the collection of OrderItem objects. Can it
use any implementation of java.util.Collection (i.e Vector or List or
Array and so on).

Thanks,
Prateek


On Sat, May 24, 2008 at 9:27 PM, Clinton Begin <clinton.begin@gmail.com> wrote:
> In the result you'd put something like this in the column attribute:
>
> <result property="orderItemList"
> column="{param1=orders.orderId,param2=orders.origin}"
> select="Ch6.getOrderItemList" />
>
> Then in the SQL, you'd put something like this:
>
> ...orderItem.orderId=#param1# AND orderItem.origin=#param2#...
>
> Cheers,
> Clinton
>
> On Sat, May 24, 2008 at 6:51 PM, Prateek Asthana <hkprateek@gmail.com> wrote:
>> Hi,
>> Below snippet helps us retrieve data from two tables linked by a
>> single foreign key.
>>
>> <resultMap id="ResultOrderInfoMap"
>> class="org.apache.mapper2.examples.bean.OrderInfo">
>>        <result property="order.orderId" column="orderId" />
>>        <result property="orderItemList" column="orderId"
>> select="Ch6.getOrderItemList" />
>> </resultMap>
>>
>>
>> <resultMap id="ResultOrderItemMap"
>> class="org.apache.mapper2.examples.bean.OrderItem">
>>        <result property="orderId" column="orderId" />
>>        <result property="orderItemId" column="orderItemId" />
>> </resultMap>
>>
>>
>> <select id="getOrderInfoList" resultMap="ResultOrderInfoMap">
>>        select orderId from orders where accountId = #value#
>> </select>
>>
>>
>> <select id="getOrderItemList" resultMap="ResultOrderItemMap">
>>        select orderId, orderItemId from orderItem
>>        where orderid = #value#
>> </select>
>>
>>
>> In above case, records from both table are retrieved using
>> orderItem.orderId=orders.orderId; This case has only has one foreign
>> key constrant;
>>
>> If the scenario involved two columns as foreign key constraints i.e
>> orderItem.orderId=orders.orderId AND orderItem.origin=orders.origin
>> then how could we specify that ?
>>
>> Thanks
>> Prateek
>>
>

Mime
View raw message