This is my first post to this forum. I've searched the forum for a related
post, but haven't found, so...

I've simplified my test case to get to the root of the problem so that's
what i'll present here. In short, a very simple query that works fine when
executed via command line (i'm using DB2), throws the following when trying
to map to a java obj via Ibatis:

Caused by: com.ibatis.common.jdbc.exception.NestedSQLException:   
--- The error occurred in com/ibm/bl/data/sqlmapdao/sql/Link.xml.  
--- The error occurred while applying a parameter map.  
--- Check the Link.forVerbiage-InlineParameterMap.  
--- Check the results (failed to retrieve results).  
--- Cause: java.lang.ArrayIndexOutOfBoundsException: Array index out of
range: -1
Caused by: java.lang.ArrayIndexOutOfBoundsException: Array index out of
range: -1
        at
com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryWithCallback(GeneralStatement.java:188)
        at
com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryForObject(GeneralStatement.java:104)
        at
com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForObject(SqlMapExecutorDelegate.java:561)
        at
com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForObject(SqlMapExecutorDelegate.java:536)
        at
com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForObject(SqlMapSessionImpl.java:93)
        at
com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForObject(SqlMapClientImpl.java:70)
        at
com.ibm.bl.data.sqlmapdao.LinkSqlMapDao.forVerbiage(LinkSqlMapDao.java:1285)
        ... 7 more

Here are the components related to my test. First, here's the class i'm
mapping to:

public class Verbiage {
        
        private String verbiage;
        private String htmlVerbiage;

        public String getHtmlVerbiage() {
                return htmlVerbiage;
        }
        public void setHtmlVerbiage(String htmlVerbiage) {
                this.htmlVerbiage = htmlVerbiage;
        }
        public String getVerbiage() {
                return verbiage;
        }
        public void setVerbiage(String verbiage) {
                this.verbiage = verbiage;
        }
}

Here's the method in my DAO that calls ibatis methods:

        public void forVerbiage() {

                com.ibm.bl.Verbiage verbiage=null;
                try {
                        verbiage = (com.ibm.bl.Verbiage)
getSqlMapExecutor().queryForObject("Link.forVerbiage", null);

                } catch (SQLException e) {
                        e.printStackTrace();
                }

        }

Here's my select statement:

         <select id="Link.forVerbiage" resultMap="verbiageTest" >
                SELECT 
                        LINK.HTMLVERBIAGE AS LINK_HTMLVERBIAGE, 
                        LINK.VERBIAGE AS LINK_VERBIAGE
                FROM 
                        ETS.LINK LINK
                WHERE 
                        LINK.LINK_ID=17097
        </select>

Here's my resultmap

        <resultMap id="verbiageTest" class="com.ibm.bl.Verbiage">
                <result property="htmlVerbiage" column="LINK_HTMLVERBIAGE" /> 
                <result property="verbiage" column="LINK_VERBIAGE" />
        </resultMap>

And here's the definition of the columns  in my table called "LINK" for
HTMLVERBIAGE and VERBIAGE:

                "VERBIAGE" CLOB(16000),
                "HTMLVERBIAGE" CLOB(32000)

Can anyone help me understand why i'm getting this exception? 

thanks very much in advance for any time/thought...

thom.
-- 
View this message in context: 
http://www.nabble.com/ArrayIndexOutOfBoundsException-mapping-CLOB-tf3909489.html#a11085076
Sent from the iBATIS - User - Java mailing list archive at Nabble.com.

Reply via email to