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 Assigned to: Clinton Begin Fix For: 2.0.8 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