On Sun, Feb 21, 2010 at 8:01 PM, Clinton Begin <clinton.be...@gmail.com>wrote:
> It rolls up by <id> elements, or if none exist, it rolls up by all columns > (which is why specifying an id is important). > I did provide an id which adds to my confusion. <association property="attributeValue" column="attributeValueID" javaType="AttributeValue"> <id property="attributeValueID" column="attributeValueID"/> The select is: SELECT aga.parentValueID, aga.objectType, aga.defaultValueFlag, aga.attributeValueID, av.value, av.attributeValueDesc, av.requiredFlag FROM > 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> >> ] >> >> > -- Rick R