gwt のリクエスト ファクトリに苦労しています。Generics および Polymorphic クラスで動作させることができます。ここを参照してください:
ジェネリックを使用した型付きクラスの RequestFactory クライアント側継承
Gwt リクエスト ファクトリ。クライアント側のジェネリックと継承
RequestFactory エンティティのパラメーター: List<OfOtherEntity> はクライアントで null です。サーバー上は大丈夫です
トランスポートレイヤーとしてrestygwtに切り替えようと思っています。これは新しいアプリなので、書き直すことはあまりありません。RF は自分のニーズに合うと思っていましたが、残念ながらうまくいきませんでした。だから私はRestyについて考えています。
以下のようなジェネリックとポリモーフィック クラスで動作するか教えてください。
@MappedSuperclass
public class GenericModel<T extends GenericModel<T>> implements Identifiable, Versionable {
getId();
getVersion();
}
@MappedSuperclass
public abstract class GenericDictionaryModel<T extends GenericModel<T>> extends GenericModel<T> { getName();
getActive();
}
@Entity class VocabularyDictionaryModel extends GenericDictionaryModel {
someCustomeMethod();
}
public class GenericDao<T extends GenericModel<T>> {
public List<GenericModel<T>> getList() {
return JPA.em().createQuery("FROM " + entityClass.getSimpleName()).getResultList();
}
}
public class GenericDictionaryDao<T extends GenericDictionaryModel<T>> extends GenericDao<T>{
public List<GenericDictionaryModel<T>> getListOrderedByName() {
try {
return JPA.em()
.createQuery("FROM " + entityClass.getSimpleName() + " ORDER BY name")
.getResultList();
} catch (ClassCastException e) {
return new LinkedList<GenericDictionaryModel<T>>();
}
}
}