[ 
https://issues.apache.org/jira/browse/IBATIS-442?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12506972
 ] 

Jeff Butler commented on IBATIS-442:
------------------------------------

Please do not use JIRA for support requests.  Use the mailing lists.

Also, posting the same thing to multiple JIRA tickets is rude.


> Nested groupBy
> --------------
>
>                 Key: IBATIS-442
>                 URL: https://issues.apache.org/jira/browse/IBATIS-442
>             Project: iBatis for Java
>          Issue Type: Bug
>          Components: SQL Maps
>    Affects Versions: 2.1.6
>         Environment: Win XP, JBoss 4
>            Reporter: raja chawat
>
> How do we add per-resultMap uniqueKeys? I don't see any example.
> Please help.
> My resultset is like:
> I have a list of instructors in a group, and every instructor can teach a 
> list of courses. My problem is an instructor can belong to multiple groups.
> I see instructor only in 1 group. And I see list of components repeated for 
> that instructor for every group that he/she belongs to.
> And if I remove the 2nd groupBy, I see instructor in multiple groups. But in 
> each group, it is listed n number of times, where n is the number of courses 
> he/she can teach.
> Am I doing something wrong here, please comment. How do I resolve this issue?
> Also, the regionID can be same as groupByID, since I am grouping dynamically. 
> I have "select region_id as group_by_id".
>     <resultMap id="GroupVOXResultMap" class="GroupVOX" groupBy="groupByID">
>         <result property="groupByID" column="group_by_id"/>
>         <result property="groupByDesc" column="group_by_desc"/>
>         <result property="instructorVOXList" 
> resultMap="Scheduler.InstructorVOXResultMap"/>
>     </resultMap>
>     <resultMap id="InstructorVOXResultMap" class="InstructorVOX" 
> groupBy="instructorID">
>         <result property="instructorID" column="inst_id"/>
>         <result property="firstName" column="fname"/>
>         <result property="middleInitial" column="mi"/>
>         <result property="lastName" column="lname"/>
>         <result property="regionID" column="region_id"/>
>         <result property="regionDesc" column="region_desc"/>
>         <result property="cpntPKs" 
> resultMap="Scheduler.ComponentPKResultMap"/>
>     </resultMap>
>     <resultMap id="ComponentPKResultMap" class="ComponentPK">
>         <result property="componentTypeID" column="cpnt_typ_id"/>
>         <result property="componentID" column="cpnt_id"/>
>         <result property="revisionDate" column="rev_dte"/>
>     </resultMap>
> I found a workaround for this problem. If you add regionID to the groupBy in 
> the innerMap, it works. Only thing is both regionID and groupID are same 
> columns referenced by different names. It will fail, if you use "groupID" in 
> the inner resultmap.
> Is this a bug? Do the keys in the groupBy have to be unique?
> <resultMap id="GroupVOXResultMap" class="GroupVOX" groupBy="groupByID">
>         <result property="groupByID" column="group_by_id"/>
>         <result property="groupByDesc" column="group_by_desc"/>
>         <result property="instructorVOXList" 
> resultMap="Scheduler.InstructorVOXResultMap"/>
>     </resultMap>
>     <resultMap id="InstructorVOXResultMap" class="InstructorVOX" 
> groupBy="regionID, instructorID">
>         <result property="instructorID" column="inst_id"/>
>         <result property="firstName" column="fname"/>
>         <result property="middleInitial" column="mi"/>
>         <result property="lastName" column="lname"/>
>         <result property="regionID" column="region_id"/>
>         <result property="regionDesc" column="region_desc"/>
>         <result property="cpntPKs" 
> resultMap="Scheduler.ComponentPKResultMap"/>
>     </resultMap>
>     <resultMap id="ComponentPKResultMap" class="ComponentPK">
>         <result property="componentTypeID" column="cpnt_typ_id"/>
>         <result property="componentID" column="cpnt_id"/>
>         <result property="revisionDate" column="rev_dte"/>
>     </resultMap>

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to