ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Guido García Bernardo <ggb...@tid.es>
Subject Re: Can I use Map or XML result in mapping complex properties
Date Mon, 22 May 2006 14:42:38 GMT
Larry Meadors escribió:
> Don't use the XML support in iBATIS - it's pretty crappy and very
> likely going to go away in iB3.
+1 :)
>
> Larry
>
>
> On 5/21/06, Shepherdz <zhaoxinpei@ndtech.com.cn> wrote:
>>
>> Our project needs to use generic result structure to recieve results 
>> of a
>> query, i.e. Map or XML. How can I use Map or XML result in mapping 
>> complex
>> properties?
>>
>> Following is a sample mapping file I write.
>>
>> <sqlMap namespace="User">
>>   <resultMap id="interestGroupResult" class="java.util.HashMap"
>> groupBy="id">
>>     <result property="id" column="GroupID"/>
>>     <result property="name" column="GroupName"/>
>>     <result property="description" column="GroupDesp"/>
>>     <result property="interests" resultMap="User.interestsResult"/>
>>   </resultMap>
>>   <resultMap id="interestsResult" class="java.util.HashMap" 
>> groupBy="id">
>>     <result property="id" column="InterestID"/>
>>     <result property="name" column="InterestName"/>
>>     <result property="description" column="InterestDesp"/>
>>     <result property="users" resultMap="User.userResult"/>
>>   </resultMap>
>>   <resultMap id="userResult" class="java.util.HashMap">
>>     <result property="id" column="UserID"/>
>>     <result property="name" column="UserName"/>
>>     <result property="password" column="UserPassword"/>
>>     <result property="firstName" column="UserFirstName"/>
>>     <result property="middleName" column="UserMiddleName"/>
>>     <result property="lastName" column="UserLastName"/>
>>     <result property="age" column="UserAge"/>
>>     <result property="affiliation" column="UserAffiliation"/>
>>     <result property="email" column="UserEmail"/>
>>     <result property="telephone" column="UserTelephone"/>
>>     <result property="mobile" column="UserMobile"/>
>>   </resultMap>
>>   <select id="showGroupUser" parameterClass="java.lang.String"
>> resultMap="interestGroupResult">
>>     SELECT G.ID as GroupID, G.Name as GroupName, G.Description as 
>> GroupDesp,
>>     I.ID as InterestID, I.Name as InterestName, I.Description as
>> InterestDesp,
>>     U.ID as UserID, U.Name as UserName, U.Password as UserPassword,
>> U.FirstName as UserFirstName, U.MiddleName as UserMiddleName,
>>     U.LastName as UserLastName, U.Age as UserAge, U.Affiliation as
>> UserAffiliation, U.Email as UserEmail, U.Telephone as UserTelephone,
>>     U.Mobile as UserMobile
>>     FROM UserInterestsGroup G
>>     LEFT OUTER JOIN UserInterest I ON I.InterestGroup = G.ID
>>     LEFT OUTER JOIN Users U ON U.Interest = I.ID
>>     WHERE G.ID = #value#
>>  </select>
>> </sqlMap>
>>
>> However, an exception is thrown:
>> "com.ibatis.sqlmap.client.SqlMapException: Error instantiating 
>> collection
>> property for mapping 'interests'.  Cause: java.lang.ClassCastException:
>> java.lang.Object"
>>
>> Is my mapping statement invalid? Or the iBatis does not allow mapping 
>> Map or
>> XML as collection propery?
>>
>> -- 
>> View this message in context: 
>> http://www.nabble.com/Can+I+use+Map+or+XML+result+in+mapping+complex+properties-t1661124.html#a4500363

>>
>> Sent from the iBATIS - User - Java forum at Nabble.com.
>>
>>
>


-- 
Guido García Bernardo

ITDEUSTO - Valladolid


Mime
View raw message