Try using executeQueryForList. Your query probably is returning more
than one row.
On Sat, 19 Mar 2005 09:15:47 +0530, srividhya umashanker
<[EMAIL PROTECTED]> wrote:
>
>
>
>
> I have the following XML entry
>
> <resultMap id="result-tree1" class="java.util.HashMap">
> <result property="id" column="tree_id"/>
> <result property="screenName" column="screen_name" />
> <result property="Name" column="name" />
> <result property="column_id" column="tree_id" select="getColumnDetails"
> />
> </resultMap>
>
> <!-- Fetches the values based on the mapping -->
> <select id="getTree2" resultMap="result-tree1"
> parameterClass="java.util.Map" >
> SELECT *
> FROM tree
> WHERE tree.tree_id = #id#<!-- when parameterMap is used ? has to be
> used -->
> </select>
>
> <select id="getColumnDetails" resultClass="java.util.ArrayList"
> parameterClass="int">
> SELECT column_id
> FROM column_details
> WHERE tree_id = #value#
> </select>
>
> Where the resultMap has one entry which is an arrayList.
>
>
>
> The java method call is
> Map param = new HashMap();
> param.put("id",new Integer(90));
>
> Map tree = (HashMap) sqlMap.queryForObject("getTree2",param);
>
>
>
> But it throws executeQueryForObject() returns too many rows Exception..
>
>
> How to go about it??