[ 
http://issues.apache.org/jira/browse/IBATIS-238?page=comments#action_12361196 ] 

Jeff Butler commented on IBATIS-238:
------------------------------------

We definitiely need something like this for dynamic elements within an iterate 
tag.  But I wonder if this is the right way to solve it.  Does this work for 
nested iterate tags?  i.e. - can I do [].[].someProperty?

I wonder if it might be better to specify something like var=xxx in the iterate 
tag (like the JSTL forEach syntax)?
 
Great start on a solution to this problem!


> Property of a bean from a list can not be used in a dynamic query in elements 
> isEquals and so on
> ------------------------------------------------------------------------------------------------
>
>          Key: IBATIS-238
>          URL: http://issues.apache.org/jira/browse/IBATIS-238
>      Project: iBatis for Java
>         Type: Bug
>   Components: SQL Maps
>     Versions: 2.1.6
>  Environment: WinXp
>     Reporter: Martin Zeltner
>     Priority: Critical
>  Attachments: baseprobe_patch.txt
>
> A property of a bean that is in a list can not be used for testing. See 
> attribute "property" of elements "isEquals" from example below:
>     <select id="searchKeywords" resultMap="keyword" parameterClass="list">
>         select KEYID, NAME, DESCRIPTION, OPTIMISTICLOCKINGVERSION from 
> KEYWORDS
>         <iterate prepend="where" conjunction="and">
>             <isEqual property="[].type" compareValue="like">
>                 <isEqual property="[].field" compareValue="name">
>                     <isEqual property="[].caseSensitive" compareValue="true">
>                         NAME like #[].stringValue#
>                     </isEqual>
>                     <isNotEqual property="[].caseSensitive" 
> compareValue="true">
>                         upper(NAME) like upper(#[].stringValue#)
>                     </isNotEqual>
>                 </isEqual>
>                 <isEqual property="[].field" compareValue="description">
>                     <isEqual property="[].caseSensitive" compareValue="true">
>                         DESCRIPTION like #[].stringValue#
>                     </isEqual>
>                     <isNotEqual property="[].caseSensitive" 
> compareValue="true">
>                         upper(DESCRIPTION) like upper(#[].stringValue#)
>                     </isNotEqual>
>                 </isEqual>
>             </isEqual>
>         </iterate>
>         order by NAME
>     </select>
> Regards,
> Martin

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to