ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jeff Butler" <jeffgbut...@gmail.com>
Subject Re: nested iteration problem
Date Thu, 11 May 2006 12:57:24 GMT
This isn't nested iteration.

What you should do is have a map property called something like
"sundaysList" that returns a List.  That list should contain other maps with
firstSunday and lastSunday properties.  Then iterate over the "sundays"
property and specify the values like "sundaysList[].firstSunday" and
"sundaysList[].lastSunday".

Jeff Butler


On 5/11/06, Rahesh Kumar <rahesh@gmail.com> wrote:
>
>  Hi,
>
> Need your help in solving this below mentioned problem, I am using IBatis
> 2.0 version ,I am facing problem as given below
>
>
> I have a statement like one below
>
>
> <select id="getVendorTSStatusList"
> resultMap="vendorTimesheetStatusResult">
>
> select
>
> ( select group_name projectgroupname from project_groups where group_id =
>
> (select group_id from projects where project_id = cp.project_id)
>
> ) projectgroupname , project_name , contractor_name,
> timesheet_approver_name, working_from, regular_rate,
>
> offshore_regular_rate, contractor_upi, project_id from CONTRACTOR_PROJECTS
> cp where ROWID IN
>
> (select MAX(rowid) from CONTRACTOR_PROJECTS GROUP BY contractor_upi) and
> vendor_id = #selectedVendors#
>
> <dynamic>
>
> <isNotNull prepend="AND" property="firstSundayList">
>
> <iterate prepend="AND" property="firstSundayList" open="(" close=")"
> conjunction="OR">
>
> contractor_upi not in (select user_upi from user_profile_delete_log
>
> where action_date <![CDATA[<]]> (TO_DATE(#firstSundayList[]#,
> 'MM/DD/YYYY')-6))
>
> or contractor_upi in (select user_upi from user_profile_delete_log where
> action_date
>
> between (TO_DATE(#firstSundayList[]#, 'MM/DD/YYYY')-6) and
> (TO_DATE(#lastSundayList[]#, 'MM/DD/YYYY') + 1))
>
> or contractor_upi in (select user_upi from user_profile_delete_log where
>
> (user_upi,action_date) in (select user_upi, max(action_date) as
> action_date
>
> from user_profile_delete_log group by user_upi )
>
> and action_date <![CDATA[<]]> (TO_DATE(#firstSundayList[]#,
> 'MM/DD/YYYY')-6) and action = 'undeleted')
>
> </iterate>
>
> </isNotNull>
>
> </dynamic>
>
> <!-- avoid contractor duplication -->
>
> group by project_name , contractor_name, timesheet_approver_name,
> working_from, regular_rate,
>
> offshore_regular_rate, contractor_upi, project_id order by contractor_name
> , projectgroupname , project_name
>
> </select>
>
>
>
> and I am passing the values via a HashMap , the value as set in HashMap
> are selectedVendors = '0000000001' , firstSundayList = [07/03/2005] and
> lastSundayList = [07/24/2005] . when I pass this to the database , I am
> getting the number format exception.
>
> I am attching the stack trace for your kind reference.Please advice me
> where the issue is.If u have any patch for this, Please send it
> across.Thanks
>
>
>
> com.ibatis.common.jdbc.exception.NestedSQLException:
>
> --- The error occurred in ctrs/persistence/sql/Reports.xml.
>
> --- The error occurred while preparing the mapped statement for execution.
>
>
> --- Check the getVendorTSStatusList.
>
> --- Check the parameter map.
>
> --- Cause: com.ibatis.common.beans.ProbeException: Error getting ordinal
> list from JavaBean. Cause java.lang.NumberFormatException:
>
> Caused by: java.lang.NumberFormatException:
>
> Caused by: com.ibatis.common.beans.ProbeException: Error getting ordinal
> list from JavaBean. Cause java.lang.NumberFormatException:
>
> Caused by: java.lang.NumberFormatException:
>
> [5/10/06 10:09:03:865 IST] 59fea7ad SystemErr R at
> com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryWithCallback
> (GeneralStatement.java:188)
>
> [5/10/06 10:09:03:865 IST] 59fea7ad SystemErr R at
> com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryForList
> (GeneralStatement.java:123)
>
> [5/10/06 10:09:03:865 IST] 59fea7ad SystemErr R at
> com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(
> SqlMapExecutorDelegate.java:610)
>
> [5/10/06 10:09:03:865 IST] 59fea7ad SystemErr R at
> com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(
> SqlMapExecutorDelegate.java:584)
>
> [5/10/06 10:09:03:865 IST] 59fea7ad SystemErr R at
> com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForList(
> SqlMapSessionImpl.java:101)
>
> [5/10/06 10:09:03:865 IST] 59fea7ad SystemErr R at
> com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForList(
> SqlMapClientImpl.java:78)
>
> [5/10/06 10:09:03:865 IST] 59fea7ad SystemErr R at
> ctrs.persistence.dao.sqlmapdao.ReportsSqlMapDao.getVendorTSStatusList(
> ReportsSqlMapDao.java:46)
>
> [5/10/06 10:09:03:865 IST] 59fea7ad SystemErr R at
> java.lang.reflect.Method.invoke(Native Method)
>
> [5/10/06 10:09:03:865 IST] 59fea7ad SystemErr R at
> com.ibatis.dao.engine.impl.DaoProxy.invoke(DaoProxy.java:64)
>
> [5/10/06 10:09:03:865 IST] 59fea7ad SystemErr R at
> $Proxy8.getVendorTSStatusList(Unknown Source)
>
> [5/10/06 10:09:03:865 IST] 59fea7ad SystemErr R at
> ctrs.domain.logic.ReportsLogic.getVendorTSStatusList(ReportsLogic.java
> :145)
>
> [5/10/06 10:09:03:865 IST] 59fea7ad SystemErr R at
> ctrs.actions.TimesheetsAction.generateVendorReport(TimesheetsAction.java
> :1335)
>
> [5/10/06 10:09:03:865 IST] 59fea7ad SystemErr R at
> java.lang.reflect.Method.invoke(Native Method)
>
> [5/10/06 10:09:03:865 IST] 59fea7ad SystemErr R at
> org.apache.struts.actions.DispatchAction.dispatchMethod(
> DispatchAction.java:270)
>
> [5/10/06 10:09:03:865 IST] 59fea7ad SystemErr R at
> org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:187)
>
> [5/10/06 10:09:03:865 IST] 59fea7ad SystemErr R at
> org.apache.struts.action.RequestProcessor.processActionPerform(
> RequestProcessor.java:431)
>
> [5/10/06 10:09:03:865 IST] 59fea7ad SystemErr R at
> org.apache.struts.action.RequestProcessor.process(RequestProcessor.java
> :236)
>
> [5/10/06 10:09:03:865 IST] 59fea7ad SystemErr R at
> org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
>
> [5/10/06 10:09:03:865 IST] 59fea7ad SystemErr R at
> org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
>
> [5/10/06 10:09:03:865 IST] 59fea7ad SystemErr R at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
>
> [5/10/06 10:09:03:865 IST] 59fea7ad SystemErr R at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>
> [5/10/06 10:09:03:865 IST] 59fea7ad SystemErr R at
> com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(
> StrictServletInstance.java:110)
>
> [5/10/06 10:09:03:865 IST] 59fea7ad SystemErr R at
> com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service(
> StrictLifecycleServlet.java:174)
>
> [5/10/06 10:09:03:865 IST] 59fea7ad SystemErr R at
> com.ibm.ws.webcontainer.servlet.IdleServletState.service(
> StrictLifecycleServlet.java:313)
>
> [5/10/06 10:09:03:865 IST] 59fea7ad SystemErr R at
> com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(
> StrictLifecycleServlet.java:116)
>
> [5/10/06 10:09:03:865 IST] 59fea7ad SystemErr R at
> com.ibm.ws.webcontainer.servlet.ServletInstance.service(
> ServletInstance.java:283)
>
> [5/10/06 10:09:03:865 IST] 59fea7ad SystemErr R at
> com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch(
> ValidServletReferenceState.java:42)
>
> [5/10/06 10:09:03:865 IST] 59fea7ad SystemErr R at
> com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(
> ServletInstanceReference.java:40)
>
> [5/10/06 10:09:03:865 IST] 59fea7ad SystemErr R at
> com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispatch
> (WebAppRequestDispatcher.java:948)
>
> [5/10/06 10:09:03:865 IST] 59fea7ad SystemErr R at
> com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(
> WebAppRequestDispatcher.java:530)
>
> [5/10/06 10:09:03:865 IST] 59fea7ad SystemErr R at
> com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(
> WebAppRequestDispatcher.java:176)
>
> [5/10/06 10:09:03:865 IST] 59fea7ad SystemErr R at
> com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java:79)
>
> [5/10/06 10:09:03:865 IST] 59fea7ad SystemErr R at
> com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(
> WebAppInvoker.java:201)
>
> [5/10/06 10:09:03:865 IST] 59fea7ad SystemErr R at
> com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocation
> (CachedInvocation.java:71)
>
> [5/10/06 10:09:03:865 IST] 59fea7ad SystemErr R at
> com.ibm.ws.webcontainer.cache.invocation.CacheableInvocationContext.invoke
> (CacheableInvocationContext.java:114)
>
> [5/10/06 10:09:03:865 IST] 59fea7ad SystemErr R at
> com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(
> ServletRequestProcessor.java:186)
>
> [5/10/06 10:09:03:865 IST] 59fea7ad SystemErr R at
> com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.service(
> OSEListener.java:334)
>
> [5/10/06 10:09:03:865 IST] 59fea7ad SystemErr R at
> com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(
> HttpConnection.java:56)
>
> [5/10/06 10:09:03:865 IST] 59fea7ad SystemErr R at
> com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java
> :610)
>
> [5/10/06 10:09:03:865 IST] 59fea7ad SystemErr R at
> com.ibm.ws.http.HttpConnection.run(HttpConnection.java:431)
>
> [5/10/06 10:09:03:865 IST] 59fea7ad SystemErr R at
> com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:593)
>
>
>
>
>
> Thanks & Regards,
>
> Raheshkumar.R
>
>
>

Mime
View raw message