You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-java@ibatis.apache.org by José Renato <rm...@gmail.com> on 2010/01/15 17:03:59 UTC

Postgre Cursor mapping

Hi All,

I am trying to map a Postgre function using Cursor. The problem is how to
map those results. Follows:

//----------------------------
-----------------------------------------------------------
<sqlMap namespace="app">
<select id="searchSources" parameterMap="map"
resultMap="searchSourcesResult">
    BEGIN;
        select * from f_search_sources(#one#,#two#, 'total', 'list');
        FETCH ALL FROM total;
        FETCH ALL FROM list;
    COMMIT;
</select>

<resultMap id="searchSourcesResult" class="com.app.PagedList">
    <result property="size" javaType="int" column="total" jdbcType="INT" />
    <result property="pagedList" resultMap="app.searchPagedList" />
</resultMap>

<resultMap id="searchPagedList" class="com.app.Source">
    <result property="name" javaType="java.lang.String" column="id_source"
jdbcType="VARCHAR" />
</resultMap>

</sqlMap>

//---------------------------------------------------------------------------------------
package com.app;
public class PagedList<T> {
    private int size;
    private List<T> pagedList;
    //all the getters and setters...
}
//---------------------------------------------------------------------------------------
package com.app;
public class Source {
    private String name;
    //all the getters and setters...
}
//---------------------------------------------------------------------------------------


That SQL code works fine in a SQL console, but when I try to retrieve data
with iBatis it doesn't.

java.langException: com.ibatis.common.jdbc.exception.NestedSQLException:
--- The error occurred in com/app/ibatis/postgre/sql-map-app.xml.
--- The error occurred while applying a result map.
--- Check the app.searchSourcesResult.
--- Check the result mapping for the 'size' property.
--- Cause: org.postgresql.util.PSQLException: Column name total not found in
ResultSet.
...

Can some good soul give me some orientation?

Best regards,
José.