如题,按照flink对POJO的定义,感觉还是比较严格的。
我有个类是继承了LinkedHashMap的,就被当作GenericType了。像这种情况,我没办法去修改LinkedHashMap实现,同时也不好不继承。因为我一个实体是动态扩展,不清楚有多少属性的,需要json方式反序列化到Map类型上。 |
你好,我们是否可以通过对该类LinkedHashMap进行包装来实现当前功能呢?如果你需要PojoSerializer来序列化数据的话。
------------------ 原始邮件 ------------------ 发件人: "赵一旦"<[hidden email]>; 发送时间: 2021年2月3日(星期三) 中午1:24 收件人: "user-zh"<[hidden email]>; 主题: 关于无法被看作POJO的类型,怎么转变可以让其不当作GenericType呢? 如题,按照flink对POJO的定义,感觉还是比较严格的。 我有个类是继承了LinkedHashMap的,就被当作GenericType了。像这种情况,我没办法去修改LinkedHashMap实现,同时也不好不继承。因为我一个实体是动态扩展,不清楚有多少属性的,需要json方式反序列化到Map类型上。 |
我看Flink的要求是public,每个属性要么public,要么有getter/setter。估计内嵌的属性也会递归检查的。
℡小新的蜡笔不见嘞、 <[hidden email]> 于2021年2月3日周三 下午1:52写道: > 你好,我们是否可以通过对该类LinkedHashMap进行包装来实现当前功能呢?如果你需要PojoSerializer来序列化数据的话。 > > > > > ------------------ 原始邮件 ------------------ > 发件人: "赵一旦"<[hidden email]>; > 发送时间: 2021年2月3日(星期三) 中午1:24 > 收件人: "user-zh"<[hidden email]>; > 主题: 关于无法被看作POJO的类型,怎么转变可以让其不当作GenericType呢? > > > > 如题,按照flink对POJO的定义,感觉还是比较严格的。 > > 我有个类是继承了LinkedHashMap的,就被当作GenericType了。像这种情况,我没办法去修改LinkedHashMap实现,同时也不好不继承。因为我一个实体是动态扩展,不清楚有多少属性的,需要json方式反序列化到Map类型上。 |
看样子是这样的,首先遍历了当前类的变量,然后再遍历类的父类、父接口的变量。其实除了变量由public修饰或者get/set()方法以外,应该当前变量类型应该还包括 无参构造方法
------------------ 原始邮件 ------------------ 发件人: "赵一旦"<[hidden email]>; 发送时间: 2021年2月3日(星期三) 中午1:59 收件人: "user-zh"<[hidden email]>; 主题: Re: 关于无法被看作POJO的类型,怎么转变可以让其不当作GenericType呢? 我看Flink的要求是public,每个属性要么public,要么有getter/setter。估计内嵌的属性也会递归检查的。 ℡小新的蜡笔不见嘞、 <[hidden email]> 于2021年2月3日周三 下午1:52写道: > 你好,我们是否可以通过对该类LinkedHashMap进行包装来实现当前功能呢?如果你需要PojoSerializer来序列化数据的话。 > > > > > ------------------&nbsp;原始邮件&nbsp;------------------ > 发件人: "赵一旦"<[hidden email]&gt;; > 发送时间: 2021年2月3日(星期三) 中午1:24 > 收件人: "user-zh"<[hidden email]&gt;; > 主题: 关于无法被看作POJO的类型,怎么转变可以让其不当作GenericType呢? > > > > 如题,按照flink对POJO的定义,感觉还是比较严格的。 > > 我有个类是继承了LinkedHashMap的,就被当作GenericType了。像这种情况,我没办法去修改LinkedHashMap实现,同时也不好不继承。因为我一个实体是动态扩展,不清楚有多少属性的,需要json方式反序列化到Map类型上。 |
In reply to this post by nobleyd
你好,请问一下,这个问题是怎么解决的啊?
赵一旦 <[hidden email]> 于2021年2月3日周三 下午1:59写道: > 我看Flink的要求是public,每个属性要么public,要么有getter/setter。估计内嵌的属性也会递归检查的。 > > ℡小新的蜡笔不见嘞、 <[hidden email]> 于2021年2月3日周三 下午1:52写道: > > > 你好,我们是否可以通过对该类LinkedHashMap进行包装来实现当前功能呢?如果你需要PojoSerializer来序列化数据的话。 > > > > > > > > > > ------------------ 原始邮件 ------------------ > > 发件人: "赵一旦"<[hidden email]>; > > 发送时间: 2021年2月3日(星期三) 中午1:24 > > 收件人: "user-zh"<[hidden email]>; > > 主题: 关于无法被看作POJO的类型,怎么转变可以让其不当作GenericType呢? > > > > > > > > 如题,按照flink对POJO的定义,感觉还是比较严格的。 > > > > > 我有个类是继承了LinkedHashMap的,就被当作GenericType了。像这种情况,我没办法去修改LinkedHashMap实现,同时也不好不继承。因为我一个实体是动态扩展,不清楚有多少属性的,需要json方式反序列化到Map类型上。 > |
这个问题比较复杂,具体最后糊里糊涂的半解决了。大概就是考虑用hashMap,以及最好不要继承,通过组合方式用。比如hashMap作为内层成员,最外边一层不要做成Map。这样可能会解决一定问题。
Lin Hou <[hidden email]> 于2021年4月1日周四 下午1:55写道: > > 你好,请问一下,这个问题是怎么解决的啊? > > 赵一旦 <[hidden email]> 于2021年2月3日周三 下午1:59写道: > > > 我看Flink的要求是public,每个属性要么public,要么有getter/setter。估计内嵌的属性也会递归检查的。 > > > > ℡小新的蜡笔不见嘞、 <[hidden email]> 于2021年2月3日周三 下午1:52写道: > > > > > 你好,我们是否可以通过对该类LinkedHashMap进行包装来实现当前功能呢?如果你需要PojoSerializer来序列化数据的话。 > > > > > > > > > > > > > > > ------------------ 原始邮件 ------------------ > > > 发件人: "赵一旦"<[hidden email]>; > > > 发送时间: 2021年2月3日(星期三) 中午1:24 > > > 收件人: "user-zh"<[hidden email]>; > > > 主题: 关于无法被看作POJO的类型,怎么转变可以让其不当作GenericType呢? > > > > > > > > > > > > 如题,按照flink对POJO的定义,感觉还是比较严格的。 > > > > > > > > 我有个类是继承了LinkedHashMap的,就被当作GenericType了。像这种情况,我没办法去修改LinkedHashMap实现,同时也不好不继承。因为我一个实体是动态扩展,不清楚有多少属性的,需要json方式反序列化到Map类型上。 > > |
Free forum by Nabble | Edit this page |