Java 序列化到GWT时服务器重写,但在服务器上休眠

Java 序列化到GWT时服务器重写,但在服务器上休眠,java,hibernate,gwt,serialization,Java,Hibernate,Gwt,Serialization,基本上,我有一个共享对象,它可以持续休眠,但我还想将序列化从服务器更改为客户端,我编写了自定义序列化类 import com.google.gwt.user.client.rpc.SerializationException; import com.google.gwt.user.client.rpc.SerializationStreamReader; import com.google.gwt.user.client.rpc.SerializationStreamWriter;

基本上,我有一个共享对象,它可以持续休眠,但我还想将序列化从服务器更改为客户端,我编写了自定义序列化类

import com.google.gwt.user.client.rpc.SerializationException;

import com.google.gwt.user.client.rpc.SerializationStreamReader;
import com.google.gwt.user.client.rpc.SerializationStreamWriter;

    public static void serialize(SerializationStreamWriter writer, Object instance) throws SerializationException
    public static void deserialize(SerializationStreamReader reader, Object instance) throws SerializationException
我已经在WEB-INF/lib中包含了gwt.user,尽管我不应该这样做,我的jboss服务器仍然在哭泣

 ERROR: Failed to get SerializationPolicy
你遇到过这个问题吗,有人知道怎么解决吗。。最好不用吉利德。。。如果Gilead有更简单的解决方案,请告诉我如何。。。我不想从GWT客户端访问数据库对象,只想使用shared/中为客户端和服务器定义的相同对象,但序列化方式不同

编辑: 关心收藏的连载

支票已经开出了。。。 但是我已经解决了这个问题,让jboss服务器显式地使用gwt.rpc策略,而不仅仅是apache客户端。。。 该死的jboss服务器找不到这些。。所以这主要是服务器上的配置问题。

我想看看。代码看起来很复杂,但它所做的只是深入扫描对象图,并将GWT无法序列化的所有内容置零

我在我的应用程序中使用它,它工作得很好(我想如果你有大的对象图要分离,你可能会遇到麻烦)。我只添加了一个对fieldValue的包查找,以查看它是否属于我的模型对象(它们都在同一个包中)的类型,从而将值从hibernate分离。查看第505-506-507行的条件(
fieldValue.getClass().getName().contains(“org.rhq”)
应替换为可以匹配hibernate模型对象的条件)

要调用该实用程序,只需如下调用:

// Before returning your response, invoke the next line on your object
HibernateDetachUtility.nullOutUninitializedFields(your_object_here, SerializationType.SERIALIZATION);
// Your object is now safe to be returned to the GWT client

哇,看起来很复杂。。我会详细检查一下,然后再问D:你能告诉我怎么用吗?简单介绍一下如何使用给定的可序列化对象?因此,在serialize方法中,我应该将gwt无法序列化的所有内容都置零。。冷静,我来试试。。如果Public static void serialize(SerializationStreamWriter编写器,游戏对象实例)抛出序列化异常{HibernateDetachUtility.nullOutUninitializedFields(实例,SerializationType.SERIALIZATION);writer.writeObject(值);},我不确定它是否会起作用