将带有列表的hibernate POJO转换为可序列化的rpc返回对象
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将带有列表的hibernate POJO转换为可序列化的rpc返回对象相关的知识,希望对你有一定的参考价值。
hibernate POJO只允许列表(一个接口)映射多对一关系。
public class Employee {
private int id;
private String firstName;
private String lastName;
private int salary;
private List certificates;
但GWT-RPC只允许具体类型(如ArrayList)作为返回。因此,不是仅为RPC定义具有ArrayList的类似类,
public class EmployeeRPC {
private int id;
private String firstName;
private String lastName;
private int salary;
private **ArrayList<Certificate>** certificates;
有没有其他方法将hibernate POJO转换为可序列化的对象?
谢谢
你可以使用List<Serializable>
但生成的javascript会更大。
在RPC调用中传递对象时,最好在RPC接口中声明具体的参数类型。如果由于某种原因您无法在RPC接口中使用具体类,请尝试尽可能具体。 这是因为GWT编译器在发出javascript时必须考虑编译单元中List的所有可能变体。这包括在类路径中扩展List和Serializable接口的所有类。排列可能很大,这将影响您的编译时间以及应用程序下载大小。
使类可序列化为GWT RPC:
如果类符合以下三个要求,则可以序列化: - 它直接实现Java Serializable或GWT IsSerializable接口,或者因为它派生自超类。 - 它的非最终非瞬态实例字段本身是可序列化的,并且 - 它有一个带有任何访问修饰符的默认(零参数)构造函数(例如私有Foo(){}将起作用)
你必须将这些东西添加到你的班级......同时确保Certificate
是可序列化的。
或者只使用JSON:resty-gwt,gwt-jackson
以上是关于将带有列表的hibernate POJO转换为可序列化的rpc返回对象的主要内容,如果未能解决你的问题,请参考以下文章
如何将 csv 文件转换为可作为文本读取的列表列表? Python
无法从 Spring Boot REST 中的 Hibernate POJO 返回 JSON