It rolls up by <id> elements, or if none exist, it rolls up by all columns (which is why specifying an id is important).
Clinton On Sun, Feb 21, 2010 at 5:55 PM, Rick R <ric...@gmail.com> wrote: > I'm now starting to get into using ibatis3 more and I'm curious about why a > 'roll up' is happening (based on a column I didn't mention as a rollup > column) when I use an association. I'm sure it's something stupid I'm > missing but I don't see it. > > For example this flat structure works just fine, and its what I've used in > ibatis2 for a simple flat structure: > > <resultMap id="ProdAttrGroupAttrValueResultWithAttributeValue" > type="ProdAttrGroupAttrValue"> > <result column="defaultValueFlag" property="defaultValueFlag" > jdbcType="CHAR" /> > <result column="objectType" property="objectType" > jdbcType="VARCHAR" /> > <result column="parentValueID" property="parentValueID" > jdbcType="INTEGER" /> > <!-- the ProAttrGroupAttrValue has an attributeValue object > property: --> > <result property="attributeValue.attributeValueID" > column="attributeValueID"/> > <result column="value" property="attributeValue.value" > jdbcType="VARCHAR"/> > <result column="attributeValueDesc" > property="attributeValue.attributeValueDesc" jdbcType="VARCHAR" /> > <result column="requiredFlag" > property="attributeValue.requiredFlag" jdbcType="CHAR" /> > </resultMap> > > But I thought I should follow ibatis3 conventions and use an association > to make it more clear: > > <resultMap id="ProdAttrGroupAttrValueResultWithAttributeValue" > type="ProdAttrGroupAttrValue"> > <result column="defaultValueFlag" property="defaultValueFlag" > jdbcType="CHAR" /> > <result column="objectType" property="objectType" > jdbcType="VARCHAR" /> > <result column="parentValueID" property="parentValueID" > jdbcType="INTEGER" /> > <!-- using an association instead --> > <association property="attributeValue" column="attributeValueID" > javaType="AttributeValue"> > <id property="attributeValueID" column="attributeValueID"/> > <result column="value" property="value" jdbcType="VARCHAR"/> > <result column="attributeValueDesc" > property="attributeValueDesc" jdbcType="VARCHAR" /> > <result column="requiredFlag" property="requiredFlag" > jdbcType="CHAR" /> > </association> > </resultMap> > > However, when I use the latter association approach I end up getting rows > completely thrown out, but I'm not sure why and/or what logic its using. > The query returns 13 rows, but I only end up with 7 objects in the latter > association approach.. > > > DEBUG [main] java.sql.PreparedStatement debug- ==> Parameters: 2(Integer), > 12(Integer), 100(Integer) > DEBUG [main] java.sql.ResultSet debug- <== Columns: parentValueID, > objectType, defaultValueFlag, attributeValueID, value, attributeValueDesc, > requiredFlag > DEBUG [main] java.sql.ResultSet debug- <== Row: 15282, Checkbox, Y, > 9042, AA, US AA %, N > DEBUG [main] java.sql.ResultSet debug- <== Row: 15282, Checkbox, N, > 9043, GAA, US GAA %, N > DEBUG [main] java.sql.ResultSet debug- <== Row: 9043, Checkbox, N, > 12059, nonOrderedGAATelecasts, Allow Non Ordered GAA, N > DEBUG [main] java.sql.ResultSet debug- <== Row: 15282, Checkbox, N, > 12371, cvgAApercent, CVG AA %, N > DEBUG [main] java.sql.ResultSet debug- <== Row: 15282, Checkbox, N, > 13260, cvgGAApercent, CVG GAA %, N > DEBUG [main] java.sql.ResultSet debug- <== Row: 12524, Checkbox, N, > 9044, HUT/Share, US HUT/PUT and Share %, N > DEBUG [main] java.sql.ResultSet debug- <== Row: 12524, Checkbox, N, > 9063, MAMI, Median Age / Median Income, N > DEBUG [main] java.sql.ResultSet debug- <== Row: 15298, Checkbox, N, > 15299, indexP2, Index % P2+, N > DEBUG [main] java.sql.ResultSet debug- <== Row: 15298, Checkbox, N, > 15304, CVG_Index_P18_plus, CVG Index % P18+, N > DEBUG [main] java.sql.ResultSet debug- <== Row: 12396, Checkbox, N, > 12391, Commercial, National Commercial Statistics, N > DEBUG [main] java.sql.ResultSet debug- <== Row: 15284, Checkbox, N, > 9064, RGL, Reach, Gain/Loss, N > DEBUG [main] java.sql.ResultSet debug- <== Row: 15284, Checkbox, N, > 11135, vcrContribution, VCR Contribution, N > DEBUG [main] java.sql.ResultSet debug- <== Row: 15284, Checkbox, N, > 11134, avgMinutesViewed, Average Minutes Viewed, N > > > 13 rows but only 7 Objects using association: > > DEBUG [main] com.nielsen.dataselector.media.service.TestAttributeGroup > testGetStatistics- TestAttributeGroup ProdAttrGroupAttrValue: > com.nielsen.dataselector.media.service.model.prodattrgroupattrva...@40e99ce5 > [ > defaultValueFlag=Y > objectType=Checkbox > parentValueID=15282 > productID=<null> > sequenceNumber=<null> > > attributevalue=com.nielsen.dataselector.media.service.model.attributeva...@342f356f > [ > attributeValueDependencies=<null> > attributeValueID=9042 > value=AA > attributeValueDesc=US AA % > requiredFlag=N > ] > attributeGroup=<null> > ] > DEBUG [main] com.nielsen.dataselector.media.service.TestAttributeGroup > testGetStatistics- TestAttributeGroup ProdAttrGroupAttrValue: > com.nielsen.dataselector.media.service.model.prodattrgroupattrva...@75d252d > [ > defaultValueFlag=N > objectType=Checkbox > parentValueID=15282 > productID=<null> > sequenceNumber=<null> > > attributevalue=com.nielsen.dataselector.media.service.model.attributeva...@7433b121 > [ > attributeValueDependencies=<null> > attributeValueID=13260 > value=cvgGAApercent > attributeValueDesc=CVG GAA % > requiredFlag=N > ] > attributeGroup=<null> > ] > DEBUG [main] com.nielsen.dataselector.media.service.TestAttributeGroup > testGetStatistics- TestAttributeGroup ProdAttrGroupAttrValue: > com.nielsen.dataselector.media.service.model.prodattrgroupattrva...@6db22920 > [ > defaultValueFlag=N > objectType=Checkbox > parentValueID=9043 > productID=<null> > sequenceNumber=<null> > > attributevalue=com.nielsen.dataselector.media.service.model.attributeva...@4baa2c23 > [ > attributeValueDependencies=<null> > attributeValueID=12059 > value=nonOrderedGAATelecasts > attributeValueDesc=Allow Non Ordered GAA > requiredFlag=N > ] > attributeGroup=<null> > ] > DEBUG [main] com.nielsen.dataselector.media.service.TestAttributeGroup > testGetStatistics- TestAttributeGroup ProdAttrGroupAttrValue: > com.nielsen.dataselector.media.service.model.prodattrgroupattrva...@5f18223d > [ > defaultValueFlag=N > objectType=Checkbox > parentValueID=12524 > productID=<null> > sequenceNumber=<null> > > attributevalue=com.nielsen.dataselector.media.service.model.attributeva...@29700391 > [ > attributeValueDependencies=<null> > attributeValueID=9063 > value=MAMI > attributeValueDesc=Median Age / Median Income > requiredFlag=N > ] > attributeGroup=<null> > ] > DEBUG [main] com.nielsen.dataselector.media.service.TestAttributeGroup > testGetStatistics- TestAttributeGroup ProdAttrGroupAttrValue: > com.nielsen.dataselector.media.service.model.prodattrgroupattrva...@78fa39d7 > [ > defaultValueFlag=N > objectType=Checkbox > parentValueID=15298 > productID=<null> > sequenceNumber=<null> > > attributevalue=com.nielsen.dataselector.media.service.model.attributeva...@73eb904d > [ > attributeValueDependencies=<null> > attributeValueID=15304 > value=CVG_Index_P18_plus > attributeValueDesc=CVG Index % P18+ > requiredFlag=N > ] > attributeGroup=<null> > ] > DEBUG [main] com.nielsen.dataselector.media.service.TestAttributeGroup > testGetStatistics- TestAttributeGroup ProdAttrGroupAttrValue: > com.nielsen.dataselector.media.service.model.prodattrgroupattrva...@6e4eeaaf > [ > defaultValueFlag=N > objectType=Checkbox > parentValueID=12396 > productID=<null> > sequenceNumber=<null> > > attributevalue=com.nielsen.dataselector.media.service.model.attributeva...@7f11bfbc > [ > attributeValueDependencies=<null> > attributeValueID=12391 > value=Commercial > attributeValueDesc=National Commercial Statistics > requiredFlag=N > ] > attributeGroup=<null> > ] > DEBUG [main] com.nielsen.dataselector.media.service.TestAttributeGroup > testGetStatistics- TestAttributeGroup ProdAttrGroupAttrValue: > com.nielsen.dataselector.media.service.model.prodattrgroupattrva...@664310d0 > [ > defaultValueFlag=N > objectType=Checkbox > parentValueID=15284 > productID=<null> > sequenceNumber=<null> > > attributevalue=com.nielsen.dataselector.media.service.model.attributeva...@3d04fc23 > [ > attributeValueDependencies=<null> > attributeValueID=11134 > value=avgMinutesViewed > attributeValueDesc=Average Minutes Viewed > requiredFlag=N > ] > attributeGroup=<null> > ] > >