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 >
