开发者社区> 问答> 正文

CanalEntry.Column对null值字段getValue()方法返回的是空字符串

canal使用v1.1.2镜像,客户端使用的v1.1.0的包, 发现 CanalEntry.Column对null值字段 getValue()方法返回的是空字符串 之后序列化发送出去的是空字符串'',不是null值,或者直接过滤掉。导致落地的时候把空字符串写入库了。 请问CanalEntry.Column哪个方法能确认数据库字段值为null?hasIsNull()还是getIsNull()

原提问者GitHub用户bai020

展开
收起
古拉古拉 2023-06-16 19:57:11 38 0
1 条回答
写回答
取消 提交回答
  • 如果想把某个column值为空字符串的数据过滤掉的话,可以在自己实现一个eventProcessor,然后再在这个processor中,把相关的数据剔除掉。

    for (EventColumn column : eventData.getColumns()) {
        if (column.getColumnValue().equals("")) {
         return false;
        }
    }
    

    下面的方法可以判断值是否是null public boolean getIsNull() { return this.isNull_;}

    原回答者GitHub用户night-sculler

    2023-06-16 20:15:15
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载