Hibernate を使用して単純な POJO をテーブルにマップしています。これはうまく機能します。
public class Patient implements Serializable {
private int patientId;
private String firstName;
private String lastName;
private Set<Prescription> patientPrescriptions;
public Patient() {}
...
}
私の問題は、オブジェクトをシリアル化できるようにして、GWT-RPC 呼び出しのためにネットワーク経由でオブジェクトを取得できるようにしたいことです。非同期サービスがこのオブジェクトを返すと、エラーが発生します。
com.google.gwt.user.client.rpc.SerializationException: タイプ 'org.hibernate.collection.PersistentSet' が、この SerializationPolicy によってシリアル化できるタイプのセットに含まれていないか、そのクラス オブジェクトをロードできませんでした。セキュリティ上の理由から、この型はシリアル化されません。
これは、 Setをシリアル化できないという事実によるものだと思います。これは、インターフェイスであるためシリアル化できないためです。一方、Hibernate が動作するにはコレクション インターフェイス (Set/Map) が必要です。これは、Hibernate でマップされたオブジェクトを送信できなくなったことを意味しますか? セットをシリアル化する「簡単な」方法はありますか?
ありがとうございました。