|
Hi Aram,
Thank you for your
reply. I found the exact problem. Can you please help
me now.?
The following query
is working if the user is having exactly one user properties
record.
Here the User is master
table and Properties is detail table.
<resultMap id="userMapForStaticAndDynamicRamBabu" class="user">
<result property="userid" column="USR_ID"/>
<result property="role" column="ROLE_ID"/>
<result property="description" column="DESCRIPTION"/>
<result
property="properties" column="USR_ID" select="RamBabuExtension" />
</resultMap> <resultMap id="userExtensionMapForStaticAndDynamicRamBabu" class="iBatisDynamicProperty"> <result property="userid" column="USR_ID"/> <result property="propertyname" column="PROPERTY_NAME"/> <result property="propertyvalue" column="PROPERTY_VALUE"/> </resultMap> <statement id="RamBabu" resultMap="userMapForStaticAndDynamicRamBabu"> select * from USR_BASIC_INFO </statement> <statement id="RamBabuExtension" resultMap="userExtensionMapForStaticAndDynamicRamBabu"> select * from USR_EXTENSION_INFO where USR_ID=#userid# </statement> If the
second select query(select * from
USR_EXTENSION_INFO where USR_ID=#userid#) returns multiple results then
it is
throwing the following error.
Check the User.userMapForStaticAndDynamicRamBabu. --- Check the result mapping for the 'properties' property. --- Cause: java.sql.SQLException: Error: executeQueryForObject returned too many results. we are getting this error because the second query is returning multiple results. If only one record per user is there then there
is no issue. So can you please look into
this.
So some where i have to
change to List, this is i am not getting where to change.
Any way
thanks a lot Aram.
I have get and
set methods for the properties attribute. The paramater for the set method is
iBatisDynamicProperty
which is
specified in the resultMap.
regards,
Rambabu
From: Mkhitaryan, Aram [mailto:[EMAIL PROTECTED] Sent: Friday, July 28, 2006 9:50 AM To: [email protected] Subject: RE: Need help---Mapping of Complex properties <result
property="properties"
column="USR_ID"
select="RamBabuExtension"
/> You missed also
column attribute. Also use
USR_ID=#value#
instead of
USR_ID=#usr_id# Add this and try
again. Best, Aram From:
[EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] <resultMap
id="userMapForStaticAndDynamicRamBabu"
class="user"
groupBy="userid"> <result
property="userid"
column="USR_ID"/> <result
property="username"
column="USR_NAME"/> <result
property="role"
column="ROLE_ID"/> <result
property="description"
column="DESCRIPTION"/> <result
property="properties"
select="RamBabuExtension"
/> </resultMap> <resultMap
id="userExtensionMapForStaticAndDynamicRamBabu"
class="UserProperty"> <result
property="propertyname"
column="PROPERTY_NAME"/> <result
property="propertyvalue"
column="PROPERTY_VALUE"/> </resultMap> <statement
id="RamBabu"
resultMap="userMapForStaticAndDynamicRamBabu"> select * from
USR_BASIC_INFO </statement> <statement
id="RamBabuExtension"
resultMap="userExtensionMapForStaticAndDynamicRamBabu"> select * from
USR_EXTENSION_INFO where USR_ID=#usr_id# </statement> Thanks n
Regards, ============== Rambabu
Piridi.
|
