Don't know of a pretty solution, but you can do the following: 1. use queryForObject() to create an object with either values (stored proc or regular query) 2. use the constructed object and pass it to queryForObject() as 'resultObject' parameter (stored proc or regular query, depending on first choice)
So it's up to you to define 'logically', not the prettiest solution, but it should work I think. HTH, Niels ________________________________________ From: Andy Thompson [mailto:[EMAIL PROTECTED] Sent: woensdag 14 maart 2007 17:35 To: [email protected] Subject: How do I apply individual properties from a resultMap to another resultMap I've run into a situation where i want to use two separate queries to build one domain object. The reason being that I need to use a stored procedure for several attributes and standard SQL for the rest. Unfortunately I can't fix the stored proc to do everything I need, nor can I bypass that proc for business reasons. For example the below works, but doesn't do exactly what I want: <resultMap id="FinalObject" class="com.domain.FinalObject"> <result property="propertyA" column="A" /> <result property="propertyB" column="B" /> <result property="propertyC" select="execSQL"/> </resultMap> <procedure id="execStoredProc" resultMap="FinalObject" > {call someProc(#value#) } </procedure> <resultMap id="sqlRS" class="java.util.Date"> <result property="propertyC" column="columnC"/> </resultMap> <select id="execSQL" resultMap="sqlRS"> select C from table where something=#value# </select> What I would really like is to modify the above such that sqlRS returns a map. and I can insert propertyC directly into FinalObject. The below has broken syntax - but illustrates logically what I would like. Essentially: <resultMap id="FinalObject" class="com.domain.FinalObject"> <result property="propertyA" column="A" /> <result property="propertyB" column="B" /> <result property="propertyC" select="execSQL.propertyC"/> <!-- insert one property from sqlRS into FinalObject--> <result property="propertyD" select="execSQL.propertyD "/> <!-- insert another property from sqlRS into FinalObject--> </resultMap> <procedure id="execStoredProc" resultMap="FinalObject" > {call someProc(#value#) } </procedure> <resultMap id="sqlRS"> <result property="propertyC" column="columnC"/> <result property="propertyD" column="columnD"/> </resultMap> <select id="execSQL" resultMap="sqlRS"> select C, D from table where something=#value# </select> Is there a working syntax to accomplish logically what I'm trying to do above? -- Andrew R. Thompson Currently in D.C. Consulting
