[ http://issues.apache.org/jira/browse/IBATIS-227?page=comments#action_12360754 ]
Jeff Butler commented on IBATIS-227: ------------------------------------ Just to pitch in here, if you write your XML like this: <select id="searchForStaff" parameterClass="staff" resultMap="staffResult"> select * from staff <dynamic prepend="where"> <isNotNull prepend="and" property="lastName"> last_name= #lastName# </isNotNull> <isNotNull prepend="and" property="salutation"> salutation_id =#salutation.id# </isNotNull> </dynamic> </select> Then... 1. It works 2. It will still work after a WSAD/RAD format operation 3. It's easier to read too! (IMHO) > CLONE -Dynamic SQL from JavaBean property causes malformed SQL > -------------------------------------------------------------- > > Key: IBATIS-227 > URL: http://issues.apache.org/jira/browse/IBATIS-227 > Project: iBatis for Java > Type: Bug > Components: SQL Maps > Reporter: Luke R. Flesch > Assignee: Clinton Begin > Fix For: 2.2.0 > Attachments: jira227_testcase.zip > > If there is a 'staff' class (mapped via a typeAlias) > with a property 'salutation' which is of type > 'Salutation' (itself a JavaBean), then the following > dynamic SQL fragment causes an exception to be thrown: > <select id="searchForStaff" parameterClass="staff" > resultMap="staffResult"> > select * from staff > <dynamic prepend="where"> > <isNotNull prepend="and" property="lastName">last_name > = #lastName#</isNotNull> > <isNotNull prepend="and" > property="salutation">salutation_id = > #salutation.id#</isNotNull> > </dynamic> > </select> > Note the access of the 'id' property of the Salutation > JavaBean and the absence of whitespace between the > 'isNotNull' tag and its text content (the examples in > the tutorial and developer guide have whitespace, > avoiding the problem). > The exception is a SQLException stating that the SQL > command is not properly ended. Inspection of the SQL > shows that a space is omitted between the 'and' and the > condition, i.e. '... andsalutation_id = ...'. > This only occurs when it is a JavaBean property being > accessed. -- 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