[ http://issues.apache.org/jira/browse/IBATIS-210?page=comments#action_12360868 ]
Reuben Firmin commented on IBATIS-210: -------------------------------------- Hello Clinton -- bug 224 may be related to this (and I posted my type handler code there if you need to refer to it.) Here is a failing statement: <select id="getDeploymentByStatus2" parameterClass="list" resultClass="deployment" cacheModel="deployment-cache"> SELECT * FROM Deployment WHERE deploymentStatusId IN ( <dynamic> <iterate conjunction=", "> #status.value[]# </iterate> </dynamic> ) ORDER BY deploymentStatusId, deploymentId </select> I traced this up into the ibatis code, and because the Enum (Deployment.Status, which contains a getValue() method) is passed to the statement as part of a list, it doesn't get mapped to my custom TypeHandler (instead it falls back to the UnknownTypeHandler and fails). To reproduce, essentially: Declare an Enum; Create a type handler to convert Enum <-> DB Integer; Try passing the enum within a map or a list to a statement; > Enum within Collection is not mapped to custom TypeHandler > ---------------------------------------------------------- > > Key: IBATIS-210 > URL: http://issues.apache.org/jira/browse/IBATIS-210 > Project: iBatis for Java > Type: Bug > Components: SQL Maps > Versions: 2.1.0 > Environment: Linux/Spring/Resin/Jdk1.5 > Reporter: Reuben Firmin > > Passing an Enum to Ibatis requires the declaration of a custom TypeHandler > (see my comments here for my implementation: > http://opensource2.atlassian.com/confluence/oss/display/IBATIS/How%20do%20I%20use%20a%20Custom%20Type%20Handler%20with%20complex%20property%20or%20Type%20Safe%20Enumeration) > This works, except when the Enum is within a map or a list. > That is, if I pass a list of Enum attributes to a statement, as a parameter, > and attempt to iterate over them, they are mapped to UnknownTypeHandler. > Similarly, when an Enum is passed as value in a HashMap as part of a > parameter, it is also mapped to an UnknownTypeHandler. -- 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