1

GWT + Springs + DB4o:知道如何在不添加新 RPC 类的情况下使其工作

[WARN] 调度传入的 RPC 调用 com.google.gwt.user.client.rpc.SerializationException 时出现异常:类型 'com.db4o.internal.query.ObjectSetFacade' 未包含在可由此 SerializationPolicy 序列化的类型集中或无法加载其 Class 对象。出于安全考虑,此类型不会被序列化。: instance = [com.ppp.prm.portal.shared.dto.MComments@2214ab5, com.ppp.prm.portal.shared.dto.MComments@4fda105f, com.ppp .prm.portal.shared.dto.MComments@7568f5ed, com.ppp.prm.portal.shared.dto.MComments@3de9d6d3, com.ppp.prm.portal.shared.dto.MComments@4316d666, com.ppp.prm .portal.shared.dto.MComments@1055e4f3, com.ppp.prm.portal.shared.dto.MComments@772a15e5, com.ppp.prm.portal.shared.dto.MComments@6c03aa81] 在 com.google.gwt。 user.server.rpc.impl.ServerSerializationStreamWriter。

4

1 回答 1

1

问题

RPC 101 - 对象需要实现 IsSerializable 或 Serializable 接口。ObjectSetFacade 或其超类都没有实现它们。参考更多规则 - https://developers.google.com/web-toolkit/doc/latest/tutorial/clientserver

DB4o 是非 gwt java 库。您不能在任何 RPC 调用中发送 com.db4o.internal.query.ObjectSetFacade。

解决方案

1) 您应该从 db40 对象转换为与 GWT 和 RPC 兼容的域对象/pojo。

2) 示例 - 我们在服务器上使用 Dozer 将 Hibernate 对象转换为 Domain pojos。https://developers.google.com/web-toolkit/articles/using_gwt_with_hibernate

于 2013-01-09T04:49:33.350 回答