ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From mister blinky <misterbli...@yahoo.com>
Subject ArrayIndexOutOfBoundsException mapping CLOB
Date Tue, 12 Jun 2007 19:15:11 GMT

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.


Mime
View raw message