2011-06-19 47 views
2

我正在使用JPA 2.0。 (EclipseLink的2.0.2)通過GWT RPC問題與關係的實體

如果實體包含關係,例如:

@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 = {[]} 

回答

2

一般來說所有的持久性API使用命名的代碼注入技術,這意味着它爲了做持續性的工作注入代碼在你的POJO類。 因爲這是在運行時做GWT編譯器無法看到,所以它不能生成該類型的序列化器。 解決方案不是通過電線發送Persistant類。而是使用DTO(數據傳輸對象)。

希望這會有所幫助。 Registers Daniel

2

此錯誤信息最有可能意味着您的「博客」對象不執行java.util.Serializablecom.google.gwt.user.client.rpc.IsSerializable

RPC and Serializable Discussion