为什么Avro不会为具有“ null”和任何逻辑类型的联合类型字段添加“转换”

时间:2020-08-30 00:16:28

标签: java avro

此问题与Avro 1.9.2和Java有关

对于具有以下架构的字段,avro编译器在生成的类中未添加任何转换*,并且反序列化失败,并发生ClassCastException,提示无法将java.lang.Integer强制转换为java.time.LocalDate

{
    "name": "BIRTH_DT",
    "type": [
        "null",
        {
            "type": "int",
            "logicalType": "date"
        }
    ],
    "default": null
}

* Conversions-将int转换为java LocalDate对象的代码

如何反序列化具有这种模式的消息?

0 个答案:

没有答案