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é.