From 9981b7c02f41a7fe4fc0471253e9773558e47949 Mon Sep 17 00:00:00 2001 From: zjinlei <75718677@qq.com> Date: Wed, 12 Feb 2020 17:33:03 +0800 Subject: [PATCH] bugfix: fix type error when fastjson deserialize long type (#2234) --- .../main/java/io/seata/rm/datasource/DataCompareUtils.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/rm-datasource/src/main/java/io/seata/rm/datasource/DataCompareUtils.java b/rm-datasource/src/main/java/io/seata/rm/datasource/DataCompareUtils.java index 0ebcb143638..36209b0193c 100644 --- a/rm-datasource/src/main/java/io/seata/rm/datasource/DataCompareUtils.java +++ b/rm-datasource/src/main/java/io/seata/rm/datasource/DataCompareUtils.java @@ -100,6 +100,12 @@ private static void convertType(Field f0, Field f1) { if (f1Type == Types.DECIMAL && f1.getValue().getClass().equals(Integer.class)) { f1.setValue(new BigDecimal(f1.getValue().toString())); } + if (f0Type == Types.BIGINT && f0.getValue().getClass().equals(Integer.class)) { + f0.setValue(Long.parseLong(f0.getValue().toString())); + } + if (f1Type == Types.BIGINT && f1.getValue().getClass().equals(Integer.class)) { + f1.setValue(Long.parseLong(f1.getValue().toString())); + } } /**