gwt - 通过 GWT RPC 问题建立关系的实体

标签 gwt jpa-2.0 gwt-rpc

我正在使用 JPA 2.0。 (EclipseLink 2.0.2)

如果实体包含关系,例如:

@OneToMany(cascade = CascadeType.ALL, mappedBy = "userId")
private Collection<Blog> blogCollection;

通过 RPC 发送时出现以下错误:

com.google.gwt.user.client.rpc.SerializationException: Type 'org.eclipse.persistence.indirection.IndirectList' was not included in the set of types which can be serialized by this SerializationPolicy or its Class object could not be loaded. For security purposes, this type will not be serialized.: instance = {[]}

最佳答案

一般来说,所有持久性 API 都使用一种名为代码注入(inject)的技术,这意味着它会在 POJO 类中注入(inject)代码以执行持久性工作。 由于这是在运行时执行的,GWT 编译器无法看到这一点,因此它无法为该类型生成序列化器。 解决方案不是通过线路发送持久性类。而是使用 DTO(数据传输对象)。

希望这有帮助。 问候 丹尼尔

关于gwt - 通过 GWT RPC 问题建立关系的实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6405481/

相关文章:

java - 通过 GWT RPC 传递类对象的问题

gwt - 使用 GWT-Maven 时如何为 GWT 编译器提供更多内存?

java - 从/到 GWT 应用程序重定向以进行身份​​验证

java - 如何通过在 glassfish 中部署的应用程序定义不同的连接池

android - 如何在 Android SyncAdapter 中使用 GWT-RequestFactory(总是出现 ValidationTool-Error)

serialization - GWT-RPC 序列化的 ImmutableCollection 声明

GWT 加载模块失败

java - 在网页中嵌入仅查看 Word 文档

spring - 无法使用 spring 获取 eclipselink 的 EntityManager 的事件 session

java - 在 JPA 中为非规范化表定义一个实体(充当聚合器)