Hi all.
I'm having trouble converting some (working) inline parameters
to the equivalent parameter map.
This works just
fine:
<select id="getemployeeMasters" resultClass="org.model.employeeMaster">
SELECT
substr(administrative_code, 1, 3) as org
FROM administrative_code a, employeeMaster e
FROM administrative_code a, employeeMaster e
WHERE rtrim(a.administrative_code) =
rtrim(e.org)
AND
a.administrative_code like #org#
GROUP BY
substr(administrative_code, 1, 3)
</select>
</select>
This does
not:
<parameterMap id="getemployeeMastersParam"
class="org.model.employeeMaster">
<parameter property="org" />
</parameterMap>
<parameter property="org" />
</parameterMap>
<select id="getemployeeMasters"
parameterMap="getemployeeMastersParam">
SELECT substr(administrative_code, 1, 3) as org
FROM administrative_code a, employeeMaster e
FROM administrative_code a, employeeMaster e
WHERE rtrim(a.administrative_code) =
rtrim(e.org)
AND a.administrative_code like
?
GROUP BY substr(administrative_code, 1,
3)
</select>
</select>
I get the following
error:
WARN -
CommonsLoggingOutput.warn(44) | Erroring: id[510_1149004528570]
message[org.springframework.jdbc.UncategorizedSQLException: (SqlMapClient
operation): encountered SQLException [
--- The error occurred in org/dao/ibatis/employeeMasterSQL.xml.
--- The error occurred while preparing the mapped statement for execution.
--- Check the getemployeeMasters.
--- Cause: java.sql.SQLException: Invalid parameter object type. Expected 'org.model.employeeMaster' but found 'java.lang.String'.]; nested exception is com.ibatis.common.jdbc.exception.NestedSQLException:
--- The error occurred in org/dao/ibatis/employeeMasterSQL.xml.
--- The error occurred while preparing the mapped statement for execution.
--- Check the getemployeeMasters.
--- Cause: java.sql.SQLException: Invalid parameter object type. Expected 'org.model.employeeMaster' but found 'java.lang.String'.
--- The error occurred in org/dao/ibatis/employeeMasterSQL.xml.
--- The error occurred while preparing the mapped statement for execution.
--- Check the getemployeeMasters.
--- Cause: java.sql.SQLException: Invalid parameter object type. Expected 'org.model.employeeMaster' but found 'java.lang.String'.]; nested exception is com.ibatis.common.jdbc.exception.NestedSQLException:
--- The error occurred in org/dao/ibatis/employeeMasterSQL.xml.
--- The error occurred while preparing the mapped statement for execution.
--- Check the getemployeeMasters.
--- Cause: java.sql.SQLException: Invalid parameter object type. Expected 'org.model.employeeMaster' but found 'java.lang.String'.
From what I can tell
these two versions should be functionally equivalent but obviously they are
not. (I need to convert to a parameter map so that I can turn on
caching.)
Any help would be
appreciated! :-)
--
Gary
Blackburn
