diff --git a/jOOQ/src/main/java/org/jooq/impl/AbstractDataType.java b/jOOQ/src/main/java/org/jooq/impl/AbstractDataType.java index 625c012312..e7e9cb52e8 100644 --- a/jOOQ/src/main/java/org/jooq/impl/AbstractDataType.java +++ b/jOOQ/src/main/java/org/jooq/impl/AbstractDataType.java @@ -377,7 +377,17 @@ public abstract class AbstractDataType implements DataType { @Override public /* final */ T convert(Object object) { - return Convert.convert(object, type); + + // [#1441] Avoid unneeded type conversions to improve performance + if (object == null) { + return null; + } + else if (object.getClass() == type) { + return (T) object; + } + else { + return Convert.convert(object, type); + } } @Override