ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From devver <kmg...@googlemail.com>
Subject Re: Help with iBatis nested <iterate> syntax
Date Wed, 05 May 2010 13:42:37 GMT

Thanks for your reply Jeff

I am using something very similar (See below) but I am getting a host of
error messages, including:

--- Cause: com.ibatis.common.beans.ProbeException: Error getting ordinal
list from JavaBean. Cause java.lang.NumberFormatException: For input string:
""
Caused by: java.lang.NumberFormatException: For input string: ""; nested
exception is com.ibatis.common.jdbc.exception.NestedSQLException:

followed by:

 com.ibatis.common.beans.ProbeException: Error getting ordinal list from
JavaBean. Cause java.lang.NumberFormatException: For input string: ""

These are repeated several times.

I pass a HashMap into the SQLMap. One of the instances is a ReportParameters
instance. This is comprised of several properties but the important one as
far as my SQL is concerned is an array of objects which themselves contain
an array.

My SQLMap dynanically builds a WHERE clause based on the ReportParameters
'outer' and 'inner' arrays. The <dynamic> block looks similar to this:

<iterate prepend="AND" property="ReportParameters.outerArray"
conjunction="OR" open="(" close=")">
		(
		#ReportParameters.outerArray[].someProperty#
		...
		
		)
		<iterate prepend="AND" property="ReportParameters.outerArray[].innerArray"
conjunction="AND" open="(" close=")">
			(
			   #ReportParameters.outerArray[].innerArray[].anotherProperty#
			)
		</iterate>
	)
</iterate>

I'm not sure why this is happening at all. The syntax looks straight-forward
and intuitive and yet it (or something) appears to crash iBatis. 
I have dumped the contents of ReportParameters just before I execute the SQL
via my DAO. Everything looks as expected.

The version of iBatis I am using is v2. The app uses ibatis-common-2.jar and
ibatis-sqlmap-2.jar

Jeff Butler-2 wrote:
> 
> Assuming MyParameters is some object passed as a parameter object, and
> that myOuterList is a property of MyParameters:
> 
> <iterate property="myOuterList" ...>
>   <iterate property="myOuterList[].myInnerList"...>
>     #myOuterList[].myInnerList[].myProperty#
>   </iterate>
> </iterate>
> 
> 
> Jeff Butler
> 
> 
> On Tue, May 4, 2010 at 2:09 PM, devver <kmg203@googlemail.com> wrote:
>>
>> Hi
>>
>> #Subsequent to the problems outline in this post:
>> http://old.nabble.com/Problem-accessing-List-instance-property-via-%3Cisnull%3E-td28368852.html
>>
>> ... the problem has changed somewhat. The orignal SQL statement has been
>> altered and we now have a structure which requries nested <iterate>
>> elements.
>>
>> It looks like patches may have been introduced into IbAtis 2.x around
>> 2006
>> to enable this feature but I can't get it to work. Can someone please
>> confirm the correct syntax? I had used somethign similar to this:
>>
>> <iterate property="MyParameters.myOuterList" conjunction="OR" open="("
>> close=")">
>>     <!-- Some SQL -->
>>
>>     <iterate proeprty ="MyParameters.myOuterList[].myInnerList"
>> conjunction="AND" open="(" close=")">
>>
>>     <!-- More SQL where I access
>> #MyParameters.myOuterList.myInnerList[].myProperty# -->
>>
>>     </iterate>
>>
>> </iterate>
>>
>> Any help gratefully received. Thanks
>> --
>> View this message in context:
>> http://old.nabble.com/Help-with-iBatis-nested-%3Citerate%3E-syntax-tp28451833p28451833.html
>> Sent from the iBATIS - User - Java mailing list archive at Nabble.com.
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
>> For additional commands, e-mail: user-java-help@ibatis.apache.org
>>
>>
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
> For additional commands, e-mail: user-java-help@ibatis.apache.org
> 
> 
> 

-- 
View this message in context: http://old.nabble.com/Help-with-iBatis-nested-%3Citerate%3E-syntax-tp28451833p28461065.html
Sent from the iBATIS - User - Java mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
For additional commands, e-mail: user-java-help@ibatis.apache.org


Mime
View raw message