I figured it out
remapResults="true"
 
I test it and it works!!!
 
Thanks Larry.
 
JH.
-----Original Message-----
From: Jason Hall [mailto:[EMAIL PROTECTED]
Sent: Tuesday, May 03, 2005 1:29 PM
To: ibatis-user-java@incubator.apache.org; [EMAIL PROTECTED]
Subject: RE: Implicit Mapping and Dynamic SQL

how do you use this parameter
<statement id="selectTable" remapResults=??>
 
select * from $table$
</statement>
 
also does it only work for 2.1.0?
 
I'm using 2.0.8.
-----Original Message-----
From: Larry Meadors [mailto:[EMAIL PROTECTED]
Sent: Tuesday, May 03, 2005 7:48 AM
To: ibatis-user-java@incubator.apache.org
Subject: Re: Implicit Mapping and Dynamic SQL

The remapResults attribute is used if you have a need to dynamically change the result map when the statement is called. While this makes the returned data more flexible, the cost is pretty high, so use it with caution.

Larry


On 5/3/05, Jason Hall <[EMAIL PROTECTED]> wrote:

Hi,

I use the following sqlMap statement.

<statement id="selectTable" resultClass="java.util.HashMap">
select * from $table$
</statement>

In my java code this works

List l = queryForList("selectTable","TABLE_A");


but when i do this with same statement id (selectTable) ...

List l = queryForList("selectTable","TABLE_A");
List l2 = queryForList("selectTable","TABLE_B");

The first queryForList works but the second doesn't.

In the error it complains that columns that are in TABLE_A are not in
TABLE_B. Well this is obvious. What's happening the columns are not being flushed
"somewhat - i think??" before the next queryForList is executed.

See. I do the following it works with the same table "TABLE_A"...
List l = queryForList("selectTable","TABLE_A");
List l2 = queryForList("selectTable","TABLE_A");




This is the error I got when the second queryForList has been executed (has been modified for

privacy)

com.ibatis.common.jdbc.exception.NestedSQLException:  
--- The error occurred in Table.xml. 
--- The error occurred while applying a result map. 
--- Check the LookupMap.selectLookupTable-AutoResultMap. 
--- Check the result mapping for the 'COLUMN_TABLE_A' property. 
--- Cause: java.sql.SQLException: Column not found
Caused by: java.sql.SQLException: Column not found
        at

com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryWithCallback(GeneralStatem

ent.java:180)
        at

com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryForList(GeneralStatement.j

ava:118)
        at

com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:626)
        at

com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:598)
        at

com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForList(SqlMapSessionImpl.java:107)
        at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForList(SqlMapClientImpl.java:76)


Caused by:
java.sql.SQLException: Column not found
        at sun.jdbc.odbc.JdbcOdbcResultSet.findColumn(JdbcOdbcResultSet.java:1790)
        at sun.jdbc.odbc.JdbcOdbcResultSet.getObject(JdbcOdbcResultSet.java:1683)
        at com.ibatis.sqlmap.engine.type.ObjectTypeHandler.getResult(ObjectTypeHandler.java:35)
        at

com.ibatis.sqlmap.engine.mapping.result.BasicResultMap.getPrimitiveResultMappingValue(BasicResultM

ap.java:383)
        at

com.ibatis.sqlmap.engine.mapping.result.BasicResultMap.getResults(BasicResultMap.java:207)
        at com.ibatis.sqlmap.engine.mapping.result.AutoResultMap.getResults(AutoResultMap.java:52)
        at com.ibatis.sqlmap.engine.execution.SqlExecutor.handleResults(SqlExecutor.java:349)
        at com.ibatis.sqlmap.engine.execution.SqlExecutor.executeQuery(SqlExecutor.java:179)
        at

com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.sqlExecuteQuery(GeneralStatement.java:

200)
        at

com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryWithCallback(GeneralStatem

ent.java:168)
        at

com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryForList(GeneralStatement.j

ava:118)
        at

com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:626)
        at

com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:598)
        at

com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForList(SqlMapSessionImpl.java:107)
        at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForList(SqlMapClientImpl.java:76)


Reply via email to