diff --git a/chunjun-connectors/chunjun-connector-jdbc-base/src/main/java/com/dtstack/chunjun/connector/jdbc/converter/JdbcColumnConverter.java b/chunjun-connectors/chunjun-connector-jdbc-base/src/main/java/com/dtstack/chunjun/connector/jdbc/converter/JdbcColumnConverter.java index 6b6648fd33..f7e40ccec1 100644 --- a/chunjun-connectors/chunjun-connector-jdbc-base/src/main/java/com/dtstack/chunjun/connector/jdbc/converter/JdbcColumnConverter.java +++ b/chunjun-connectors/chunjun-connector-jdbc-base/src/main/java/com/dtstack/chunjun/connector/jdbc/converter/JdbcColumnConverter.java @@ -77,7 +77,7 @@ public JdbcColumnConverter(RowType rowType, ChunJunCommonConf commonConf) { wrapIntoNullableExternalConverter( ISerializationConverter serializationConverter, LogicalType type) { return (val, index, statement) -> { - if (((ColumnRowData) val).getField(index) == null) { + if(val == null || val.isNullAt(index)) { statement.setObject(index, null); } else { serializationConverter.serialize(val, index, statement); diff --git a/chunjun-core/src/main/java/com/dtstack/chunjun/converter/AbstractRowConverter.java b/chunjun-core/src/main/java/com/dtstack/chunjun/converter/AbstractRowConverter.java index 99615653ca..85f750ae29 100644 --- a/chunjun-core/src/main/java/com/dtstack/chunjun/converter/AbstractRowConverter.java +++ b/chunjun-core/src/main/java/com/dtstack/chunjun/converter/AbstractRowConverter.java @@ -21,6 +21,7 @@ import com.dtstack.chunjun.conf.ChunJunCommonConf; import com.dtstack.chunjun.conf.FieldConf; import com.dtstack.chunjun.element.AbstractBaseColumn; +import com.dtstack.chunjun.element.column.NullColumn; import com.dtstack.chunjun.element.column.StringColumn; import com.dtstack.chunjun.enums.ColumnType; import com.dtstack.chunjun.util.DateUtil; @@ -91,7 +92,7 @@ protected IDeserializationConverter wrapIntoNullableInternalConverter( IDeserializationConverter IDeserializationConverter) { return val -> { if (val == null) { - return null; + return new NullColumn(); } else { try { return IDeserializationConverter.deserialize(val);