[ http://issues.apache.org/jira/browse/IBATIS-224?page=comments#action_12367864 ]
Sven Boden commented on IBATIS-224: ----------------------------------- Following "hack" in UnknownTypeHandler will make it work for IBATIS-224/210... but is not available until Java 5 (1.5), and it also has some implications for generics so I would suggest to put this JIRA and IBATIS-210 on the back-burner for now. It will require some more thought: public void setParameter(PreparedStatement ps, int i, Object parameter, String jdbcType) throws SQLException { Class searchClass = parameter.getClass().getEnclosingClass(); if ( searchClass == null ) { searchClass = parameter.getClass(); } TypeHandler handler = factory.getTypeHandler(searchClass, jdbcType); handler.setParameter(ps, i, parameter, jdbcType); } > isNotNull node causes typehandler mappings in statement to fail > --------------------------------------------------------------- > > Key: IBATIS-224 > URL: http://issues.apache.org/jira/browse/IBATIS-224 > Project: iBatis for Java > Type: Bug > Components: SQL Maps > Versions: 2.1.6 > Environment: linux/java 1.5 > Reporter: Reuben Firmin > Priority: Critical > Attachments: ibatis-224_sven.zip, ibatis224.tar.gz > > Here's my insert statement. > <insert id="createDeployment" parameterClass="deployment"> > INSERT INTO Deployment ( > environmentId, deploymentTypeId, deploymentStatusId, > deploymentTime > <isNotNull > property="threadCountOverride">,threadCountOverride</isNotNull> > ) VALUES ( > #environmentId#, #deploymentTypeId#, #deploymentStatusId#, > #deploymentTime# > <isNotNull > property="threadCountOverride">,#threadCountOverride#</isNotNull> > ) > <selectKey resultClass="int" keyProperty="deploymentId"> > SELECT @@IDENTITY as value > </selectKey> > </insert> > deploymentTypeId and deploymentStatusId are enums in the bean, mapped to > values using custom type handlers. Without the isNotNull structure around > threadCountOverride (which *is* nullable), the statement works. With the > isNotNull, deploymentStatusId and deploymentTypeId are mapped to > UnknownTypeHandler, and the insert fails to map the parameters from the bean. -- 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