You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-zh@flink.apache.org by 赵一旦 <hi...@gmail.com> on 2021/02/03 05:24:00 UTC

关于无法被看作POJO的类型,怎么转变可以让其不当作GenericType呢?

如题,按照flink对POJO的定义,感觉还是比较严格的。
我有个类是继承了LinkedHashMap的,就被当作GenericType了。像这种情况,我没办法去修改LinkedHashMap实现,同时也不好不继承。因为我一个实体是动态扩展,不清楚有多少属性的,需要json方式反序列化到Map类型上。

回复: 关于无法被看作POJO的类型,怎么转变可以让其不当作GenericType呢?

Posted by ℡小新的蜡笔不见嘞、 <15...@qq.com>.
看样子是这样的,首先遍历了当前类的变量,然后再遍历类的父类、父接口的变量。其实除了变量由public修饰或者get/set()方法以外,应该当前变量类型应该还包括 无参构造方法



------------------&nbsp;原始邮件&nbsp;------------------
发件人: "赵一旦"<hinobleyd@gmail.com&gt;; 
发送时间: 2021年2月3日(星期三) 中午1:59
收件人: "user-zh"<user-zh@flink.apache.org&gt;; 
主题: Re: 关于无法被看作POJO的类型,怎么转变可以让其不当作GenericType呢?



我看Flink的要求是public,每个属性要么public,要么有getter/setter。估计内嵌的属性也会递归检查的。

℡小新的蜡笔不见嘞、 <1515827454@qq.com&gt; 于2021年2月3日周三 下午1:52写道:

&gt; 你好,我们是否可以通过对该类LinkedHashMap进行包装来实现当前功能呢?如果你需要PojoSerializer来序列化数据的话。
&gt;
&gt;
&gt;
&gt;
&gt; ------------------&amp;nbsp;原始邮件&amp;nbsp;------------------
&gt; 发件人: "赵一旦"<hinobleyd@gmail.com&amp;gt;;
&gt; 发送时间: 2021年2月3日(星期三) 中午1:24
&gt; 收件人: "user-zh"<user-zh@flink.apache.org&amp;gt;;
&gt; 主题: 关于无法被看作POJO的类型,怎么转变可以让其不当作GenericType呢?
&gt;
&gt;
&gt;
&gt; 如题,按照flink对POJO的定义,感觉还是比较严格的。
&gt;
&gt; 我有个类是继承了LinkedHashMap的,就被当作GenericType了。像这种情况,我没办法去修改LinkedHashMap实现,同时也不好不继承。因为我一个实体是动态扩展,不清楚有多少属性的,需要json方式反序列化到Map类型上。

Re: 关于无法被看作POJO的类型,怎么转变可以让其不当作GenericType呢?

Posted by yidan zhao <hi...@gmail.com>.
这个问题比较复杂,具体最后糊里糊涂的半解决了。大概就是考虑用hashMap,以及最好不要继承,通过组合方式用。比如hashMap作为内层成员,最外边一层不要做成Map。这样可能会解决一定问题。

Lin Hou <li...@gmail.com> 于2021年4月1日周四 下午1:55写道:
>
> 你好,请问一下,这个问题是怎么解决的啊?
>
> 赵一旦 <hi...@gmail.com> 于2021年2月3日周三 下午1:59写道:
>
> > 我看Flink的要求是public,每个属性要么public,要么有getter/setter。估计内嵌的属性也会递归检查的。
> >
> > ℡小新的蜡笔不见嘞、 <15...@qq.com> 于2021年2月3日周三 下午1:52写道:
> >
> > > 你好,我们是否可以通过对该类LinkedHashMap进行包装来实现当前功能呢?如果你需要PojoSerializer来序列化数据的话。
> > >
> > >
> > >
> > >
> > > ------------------&nbsp;原始邮件&nbsp;------------------
> > > 发件人: "赵一旦"<hinobleyd@gmail.com&gt;;
> > > 发送时间: 2021年2月3日(星期三) 中午1:24
> > > 收件人: "user-zh"<user-zh@flink.apache.org&gt;;
> > > 主题: 关于无法被看作POJO的类型,怎么转变可以让其不当作GenericType呢?
> > >
> > >
> > >
> > > 如题,按照flink对POJO的定义,感觉还是比较严格的。
> > >
> > >
> > 我有个类是继承了LinkedHashMap的,就被当作GenericType了。像这种情况,我没办法去修改LinkedHashMap实现,同时也不好不继承。因为我一个实体是动态扩展,不清楚有多少属性的,需要json方式反序列化到Map类型上。
> >

Re: 关于无法被看作POJO的类型,怎么转变可以让其不当作GenericType呢?

Posted by Lin Hou <li...@gmail.com>.
你好,请问一下,这个问题是怎么解决的啊?

赵一旦 <hi...@gmail.com> 于2021年2月3日周三 下午1:59写道:

> 我看Flink的要求是public,每个属性要么public,要么有getter/setter。估计内嵌的属性也会递归检查的。
>
> ℡小新的蜡笔不见嘞、 <15...@qq.com> 于2021年2月3日周三 下午1:52写道:
>
> > 你好,我们是否可以通过对该类LinkedHashMap进行包装来实现当前功能呢?如果你需要PojoSerializer来序列化数据的话。
> >
> >
> >
> >
> > ------------------&nbsp;原始邮件&nbsp;------------------
> > 发件人: "赵一旦"<hinobleyd@gmail.com&gt;;
> > 发送时间: 2021年2月3日(星期三) 中午1:24
> > 收件人: "user-zh"<user-zh@flink.apache.org&gt;;
> > 主题: 关于无法被看作POJO的类型,怎么转变可以让其不当作GenericType呢?
> >
> >
> >
> > 如题,按照flink对POJO的定义,感觉还是比较严格的。
> >
> >
> 我有个类是继承了LinkedHashMap的,就被当作GenericType了。像这种情况,我没办法去修改LinkedHashMap实现,同时也不好不继承。因为我一个实体是动态扩展,不清楚有多少属性的,需要json方式反序列化到Map类型上。
>

Re: 关于无法被看作POJO的类型,怎么转变可以让其不当作GenericType呢?

Posted by 赵一旦 <hi...@gmail.com>.
我看Flink的要求是public,每个属性要么public,要么有getter/setter。估计内嵌的属性也会递归检查的。

℡小新的蜡笔不见嘞、 <15...@qq.com> 于2021年2月3日周三 下午1:52写道:

> 你好,我们是否可以通过对该类LinkedHashMap进行包装来实现当前功能呢?如果你需要PojoSerializer来序列化数据的话。
>
>
>
>
> ------------------&nbsp;原始邮件&nbsp;------------------
> 发件人: "赵一旦"<hinobleyd@gmail.com&gt;;
> 发送时间: 2021年2月3日(星期三) 中午1:24
> 收件人: "user-zh"<user-zh@flink.apache.org&gt;;
> 主题: 关于无法被看作POJO的类型,怎么转变可以让其不当作GenericType呢?
>
>
>
> 如题,按照flink对POJO的定义,感觉还是比较严格的。
>
> 我有个类是继承了LinkedHashMap的,就被当作GenericType了。像这种情况,我没办法去修改LinkedHashMap实现,同时也不好不继承。因为我一个实体是动态扩展,不清楚有多少属性的,需要json方式反序列化到Map类型上。

回复:关于无法被看作POJO的类型,怎么转变可以让其不当作GenericType呢?

Posted by ℡小新的蜡笔不见嘞、 <15...@qq.com>.
你好,我们是否可以通过对该类LinkedHashMap进行包装来实现当前功能呢?如果你需要PojoSerializer来序列化数据的话。




------------------&nbsp;原始邮件&nbsp;------------------
发件人: "赵一旦"<hinobleyd@gmail.com&gt;; 
发送时间: 2021年2月3日(星期三) 中午1:24
收件人: "user-zh"<user-zh@flink.apache.org&gt;; 
主题: 关于无法被看作POJO的类型,怎么转变可以让其不当作GenericType呢?



如题,按照flink对POJO的定义,感觉还是比较严格的。
我有个类是继承了LinkedHashMap的,就被当作GenericType了。像这种情况,我没办法去修改LinkedHashMap实现,同时也不好不继承。因为我一个实体是动态扩展,不清楚有多少属性的,需要json方式反序列化到Map类型上。