[ http://issues.apache.org/jira/browse/IBATIS-210?page=comments#action_12356983 ]
Reuben Firmin commented on IBATIS-210: -------------------------------------- Here is the stacktrace. I have reproduced on 2.1.6 java.lang.StringIndexOutOfBoundsException: String index out of range: -1 at java.lang.String.substring(String.java:1768) at com.ibatis.common.beans.BaseProbe.getIndexedProperty(BaseProbe.java:50) at com.ibatis.common.beans.GenericProbe.getObject(GenericProbe.java:56) at com.ibatis.sqlmap.engine.exchange.ListDataExchange.getData(ListDataExchange.java:63) at com.ibatis.sqlmap.engine.exchange.BaseDataExchange.getCacheKey(BaseDataExchange.java:35) at com.ibatis.sqlmap.engine.mapping.parameter.BasicParameterMap.getCacheKey(BasicParameterMap.java:136) at com.ibatis.sqlmap.engine.mapping.statement.BaseStatement.getCacheKey(BaseStatement.java:113) at com.ibatis.sqlmap.engine.mapping.statement.CachingStatement.getCacheKey(CachingStatement.java:115) at com.ibatis.sqlmap.engine.mapping.statement.CachingStatement.executeQueryForList(CachingStatement.java:89) at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:610) at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:584) at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForList(SqlMapSessionImpl.java:101) at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForList(SqlMapClientImpl.java:78) at org.springframework.orm.ibatis.SqlMapClientTemplate$3.doInSqlMapClient(SqlMapClientTemplate.java:245) at org.springframework.orm.ibatis.SqlMapClientTemplate.execute(SqlMapClientTemplate.java:165) at org.springframework.orm.ibatis.SqlMapClientTemplate.executeWithListResult(SqlMapClientTemplate.java:204) at org.springframework.orm.ibatis.SqlMapClientTemplate.queryForList(SqlMapClientTemplate.java:243) > 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