Any idea what is going on ? :-( It is straight forward code
==================================================
<resultMap class="Job" id="JobResult">
<result column="JOB_ID" jdbcType="INTEGER" property="jobId" />
<result column="STATUS" jdbcType="INTEGER" javaType="JobStatusEnum"
property="jobStatus"
typeHandler="JobStatusEnumTypeHandlerCallback"/>
</resultMap>
==========================================
TypeHandler is
public class JobStatusEnumTypeHandlerCallback implements TypeHandlerCallback {
/**
*
* @param getter
* @return
* @throws SQLException
*/
public Object getResult(ResultGetter getter) throws SQLException {
Integer intStatus = getter.getInt();
JobStatusEnum status = null;
if (intStatus != null) {
status = JobStatusEnum.convert(intStatus);
}
return status;
}
/**
*
* @param setter
* @param parameter
* @throws SQLException
*/
public void setParameter(ParameterSetter setter, Object parameter) throws
SQLException {
JobStatusEnum status = (JobStatusEnum) parameter;
Integer intStatus = new Integer(status.toIntValue());
setter.setInt(intStatus);
}
/**
*
* @param s
* @return
*/
public Object valueOf(String s) {
return s;
}
============================================
Executing Code
Job job = new Job();
job.setId(20);
job.setStatus(JobStatusEnum.OK);
============================================
Exception Log is
Caused by: org.firebirdsql.jdbc.field.TypeConvertionException: Error converting
to int. OK
at
org.firebirdsql.jdbc.field.FBIntegerField.setString(FBIntegerField.java:124)
at
org.firebirdsql.jdbc.AbstractPreparedStatement.setString(AbstractPreparedStatement.java:402)
at
org.apache.commons.dbcp.DelegatingPreparedStatement.setString(DelegatingPreparedStatement.java:132)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
com.ibatis.common.jdbc.logging.PreparedStatementLogProxy.invoke(PreparedStatementLogProxy.java:70)
at $Proxy1.setString(Unknown Source)
at
com.ibatis.sqlmap.engine.type.EnumTypeHandler.setParameter(EnumTypeHandler.java:36)
at
com.ibatis.sqlmap.engine.mapping.parameter.ParameterMap.setParameter(ParameterMap.java:166)
at
com.ibatis.sqlmap.engine.mapping.parameter.ParameterMap.setParameters(ParameterMap.java:126)
at
com.ibatis.sqlmap.engine.execution.SqlExecutor.executeUpdate(SqlExecutor.java:78)
at
com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.sqlExecuteUpdate(MappedStatement.java:216)
at
com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeUpdate(MappedStatement.java:94)
... 31 more