On Sun, Feb 21, 2010 at 8:01 PM, Clinton Begin <clinton.be...@gmail.com
<mailto: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
agaparentValueID,
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
<mailto: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.nielsendataselector.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