0

HashSetに対してcom.google.gwt.user.client.rpc.SerializationException例外が発生しています。
当初、LongのHashSetはサポートされていないと思いました。
ただし、https://developers.google.com/web-toolkit/doc/latest/RefJreEmulationにはこれらの両方が含まれています。

何が問題になるのでしょうか?

ここにサービスメソッドを投稿しています:

public Set<Long> getNamesFromIDs(Set<Long> ids) {
    return manager.getNamesFromIDs(ids);
}

ここで、managerは、ライブラリから含まれているManagerクラスへの参照です。私もマネージャーメソッドを投稿しています:

public Set<Long> getNamesFromIDs(Set<Long> styleIds) {
    List<Long> listIDs = new ArrayList<Long>(styleIds);
    Map<Long, Discount> personMap = personDAO.getStyleIdToDiscountMap(listIDs, 0);
    return personMap.keySet();
}

詳細な例外メッセージ:

com.google.gwt.user.client.rpc.SerializationException: Type 'java.util.HashMap$KeySet'   
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 = [30002, 30001]
4

1 に答える 1

1

ここに画像の説明を入力

上記の java.util のクラスは、カスタム フィールド シリアライザによってシリアライズされます。

KeySetのシリアル化は、GWT ではサポートされていません。Serializable インターフェースを実装していません (そのため、Java の世界でもシリアライズ可能ではありません)。

于 2012-12-20T06:07:03.350 に答える