Thanks for your help. I guess I missed that post.

David Y. Hodge

On 12/8/06, Jeff Butler <[EMAIL PROTECTED]> wrote:

We've seen this before:

http://www.mail-archive.com/[email protected]/msg06009.html

The bottom line is that you should inject the datasource into the
SQLMapClient, NOT each DAO - this is what is shown in the Spring
documentation, and is the supported method.

Jeff Butler



On 12/8/06, David Hodge <[EMAIL PROTECTED]> wrote:
>
> This happens when executing a query for list that has a subselect.  We
> are using the SqlMapClientDaoSupport and setting the data source in each DAO
> instead of in the SQLMapClient.  However, by setting the data source in the
> the SQLMapClient, then it works fine.
>
>
> We investigated but we are not sure why this happens.
>
> Here is the stack trace:
>
> java.lang.NullPointerException
>     at
> com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.endTransaction(
> SqlMapExecutorDelegate.java :780)
>     at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.endTransaction(
> SqlMapSessionImpl.java:170)
>     at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.endTransaction(
> SqlMapClientImpl.java:149)
>     at
> com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.autoEndTransaction(
> SqlMapExecutorDelegate.java:880)
>     at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList
> (SqlMapExecutorDelegate.java:621)
>     at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList
> (SqlMapExecutorDelegate.java :588)
>     at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForList(
> SqlMapSessionImpl.java:118)
>     at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForList(
> SqlMapClientImpl.java:96)
>     at
> com.ibatis.sqlmap.engine.mapping.result.loader.ResultLoader.getResult (
> ResultLoader.java:72)
>     at
> com.ibatis.sqlmap.engine.mapping.result.loader.ResultLoader.loadResult(
> ResultLoader.java:59)
>     at
> 
com.ibatis.sqlmap.engine.mapping.result.BasicResultMap.getNestedSelectMappingValue
> (BasicResultMap.java :504)
>     at com.ibatis.sqlmap.engine.mapping.result.BasicResultMap.getResults
> (BasicResultMap.java:340)
>     at com.ibatis.sqlmap.engine.execution.SqlExecutor.handleResults(
> SqlExecutor.java:375)
>     at
> com.ibatis.sqlmap.engine.execution.SqlExecutor.handleMultipleResults (
> SqlExecutor.java:295)
>     at com.ibatis.sqlmap.engine.execution.SqlExecutor.executeQuery(
> SqlExecutor.java:186)
>     at
> com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.sqlExecuteQuery
> (GeneralStatement.java :205)
>     at
> 
com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryWithCallback
> (GeneralStatement.java:173)
>     at
> 
com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryForList
> (GeneralStatement.java :123)
>     at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList
> (SqlMapExecutorDelegate.java:614)
>     at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList
> (SqlMapExecutorDelegate.java:588)
>     at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForList(
> SqlMapSessionImpl.java:118)
>     at
> org.springframework.orm.ibatis.SqlMapClientTemplate$3.doInSqlMapClient(
> SqlMapClientTemplate.java:263)
>     at org.springframework.orm.ibatis.SqlMapClientTemplate.execute(
> SqlMapClientTemplate.java:188)
>     at
> org.springframework.orm.ibatis.SqlMapClientTemplate.executeWithListResult
> (SqlMapClientTemplate.java:214)
>     at org.springframework.orm.ibatis.SqlMapClientTemplate.queryForList(
> SqlMapClientTemplate.java:261)
>
> -------
>
> Thanks,
>
> David Y. Hodge
>


Reply via email to