2011-01-13 5 views
2

私はGWT/GXTと初心者だと私は私の将来のアプリケーションのための最高の永続化方法を探しています。私はので、私はここにグラフを描画することを決めたことの多くの変形を考慮した:

alt text
だから私の結論は以下のとおりです。
1)JPA/Hibernateが最高の永続化フレームワークですが、それはGWTでの協力を嫌い、特別でGXT
2)JDBCこれはほんの一例です:)
3)MyBatisは、データベースからデータを取得するための優れたツールです。高速で効率的で、Hibernateには見られない可能性がありますが、マッパーを書くことはこれまでにない最悪のことです。
4)Dozzerはサーバーとユーザーのリソースを奪うものです。ボイラープレートのコードをたくさん書かなければならず、データをコピーするだけです(時には多くの場合があります)。どんな費用でも使用しないでください! 100セッションを実行するサーバーを想像し、各BeanリクエストはDozzerを使用する必要があります。
5)DTO - 同様の状況。それは定型文であり、あるデータ型を他のデータ型に変換するだけです。深刻なデータ処理はありません。サーバーリソースを賢明に使用する。
6)Gileadは休止状態の豆をコピーしています。それは危険(ちょっとしたコメントから聞こえたばかりです)、他のIoCフレームワーク(私の場合はGuice)との統合が難しい場合があります。
7)POJOをクライアント側でBeanModelに変換しないでください。 JavaScriptは本当に遅く、クライアント全体の速度が遅くなります。
8)私とあなたのためのベストプラクティス:クライアント側のDBからBaseModel Beanへのグラフの最短経路を見つける。
9)MyBatisのはBaseModel豆(テスト)へのクエリ結果をマッピングすることができますので、彼らは何度も変換する必要がありませんし、あなたがすべてでそれを気にする必要はありません。唯一のことは、適切なマッピングを書くことです。

少し切り抜いGWT/GXT永続的なアプローチ

これは私の個人的な意見ですが、私はあなたの意見を知りたいのです。私が間違っていると私に説明して、議論をしてください。私は本当にHibernateを使用したいと思うか、別のORMまたはBeanModelに直接マッピングできるMyBatisフレームワークに似ているかも知れません。

私の目的のために、マッパー、バリデーター、エディター、高度な検索パネル、DAO、サービス、GWT-RPCクラスを使って私のドメインクラスをベースモデルで生成するアプリケーションを開発します。最良の解決策は、独自の足場を開発することです:D。あなたはそれについてどう思いますか?

答えて

1

屋は、あなた自身のscaffolding..thatの私がやったことを開発します。ここに私の流れです DB-> JPA - >エンティティBeans - >私自身のコンバータクラス - > BaseModel

私のアプリケーションでは、BaseModelはDTOとして機能しています。 GWT RPCサービスでは、必要に応じてBaseModelをEntity BeanおよびEntity Beanに変換してBaseModelにします。

からZawoad

0

はたぶんGWT RequestFactoryを見てみましょう。それは

http://code.google.com/webtoolkit/doc/latest/DevGuideRequestFactory.html

私は個人的にギレアデを使用して、ノー主要な構成を必要に応じてそれで何か問題がなかった2.1の新機能です。私はコレクションの怠惰な読み込みを行いません。その考えを念頭に置いて私のユースケースを設計しました。

0

あなたはGXT BaseModelにまっすぐにマッピングすることができるはずのように見え、誰もが休止状態のダイナミックモデルを使用しようとしています。 参照:Hibernate Dymanic Models Section

0

MyBatisはPOJOだけを使用するため、GWTを使用してMyBatisを使用しました。オブジェクトがクライアントとサーバー(DAO、DTOなし)間で簡単に転送されるため、満足しました。 MyBatisのアノテーションは、XMLマッパーを書くのが気に入らなければ使用できますが、私はそれが好きです。 私の推薦はMyBatisです

+0

似たような質問をした人の私の意見です –