Don't use the XML support in iBATIS - it's pretty crappy and very likely going to go away in iB3.
Larry On 5/21/06, Shepherdz <[EMAIL PROTECTED]> 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.