You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ibatis.apache.org by "Sven Boden (JIRA)" <ib...@incubator.apache.org> on 2005/11/22 17:56:42 UTC

[jira] Updated: (IBATIS-227) CLONE -Dynamic SQL from JavaBean property causes malformed SQL

     [ http://issues.apache.org/jira/browse/IBATIS-227?page=all ]

Sven Boden updated IBATIS-227:
------------------------------

    Attachment: jira227_testcase.zip

Attached a small JUnit test case that demonstrates the JIRA IBATIS-227. It was made using Oracle as database, and a build file is lacking.
Short term fix is to put a space after the and in the prepend attribute... I don't belief spaces in an attribute value will be trimmed.

Sven Boden

> 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.0.8
>  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