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

Reply via email to