You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ibatis.apache.org by cb...@apache.org on 2009/12/05 03:53:57 UTC
svn commit: r887486 -
/ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/type/UnknownTypeHandler.java
Author: cbegin
Date: Sat Dec 5 02:53:51 2009
New Revision: 887486
URL: http://svn.apache.org/viewvc?rev=887486&view=rev
Log:
Fixed stack overflow on UnknownTypeHandler
Modified:
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/type/UnknownTypeHandler.java
Modified: ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/type/UnknownTypeHandler.java
URL: http://svn.apache.org/viewvc/ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/type/UnknownTypeHandler.java?rev=887486&r1=887485&r2=887486&view=diff
==============================================================================
--- ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/type/UnknownTypeHandler.java (original)
+++ ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/type/UnknownTypeHandler.java Sat Dec 5 02:53:51 2009
@@ -7,6 +7,8 @@
public class UnknownTypeHandler extends BaseTypeHandler {
+ private static final ObjectTypeHandler OBJECT_TYPE_HANDLER = new ObjectTypeHandler();
+
private TypeHandlerRegistry typeHandlerRegistry;
public UnknownTypeHandler(TypeHandlerRegistry typeHandlerRegistry) {
@@ -32,9 +34,12 @@
private TypeHandler resolveTypeHandler(Object parameter, JdbcType jdbcType) {
TypeHandler handler;
if (parameter == null) {
- handler = typeHandlerRegistry.getTypeHandler(Object.class);
+ handler = OBJECT_TYPE_HANDLER;
} else {
handler = typeHandlerRegistry.getTypeHandler(parameter.getClass(), jdbcType);
+ if (handler instanceof UnknownTypeHandler) {
+ handler = OBJECT_TYPE_HANDLER;
+ }
}
return handler;
}