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
