私はGWT/GXTの初心者であり、将来のアプリに最適な永続性の方法を探しています。私はそれを行うための多くのバリエーションを検討していたので、ここにグラフを描くことにしました
:
1)JPA / Hibernateは最高の永続性フレームワークですが、GWTおよび特にGXTとの連携を嫌い
ます2)JDBCは単なるジョークの例:
)3)MyBatisは、dbからデータを取得するための非常に優れたツールであり、高速で効率的であり、Hibernateには見られない大きな可能性を秘めていますが、マッパーの作成はこれまでで最悪のことです。
4)Dozzerはサーバーとユーザーリソースのキラーです。ボイラープレートコードをたくさん書く必要があり、それはデータをコピーするだけです(時にはたくさん)。絶対に使用しないでください!!! 100セッションを実行するサーバーを想像してください。各Bean要求はDozzerを使用する必要があります。
5)DTO-同様の状況。これは定型文であり、あるデータ型を別のデータ型に変換するだけです。深刻なデータ処理はありません。サーバーリソースを賢く使用します。
6)ギレアデは休止状態の豆の状態をコピーしています。危険であり(いくつかのコメントから聞いただけです)、他のIoCフレームワーク(私の場合はGuice)を構成して統合するのは難しいかもしれません。
7)クライアント側でPOJOをBeanModelに変換しないでください。JavaScriptは本当に遅く、クライアント全体の速度が低下します。
8)私にとって、そしておそらくあなたにとってのベストプラクティス:グラフ上でDBからクライアント側のBaseModelBeanへの最短パスを見つけます。
9)MyBatisではクエリ結果をBaseModel Bean(テスト済み)にマップできるため、何度も変換する必要がなく、まったく気にする必要もありません。唯一のことは、適切なマッピングを書くことです。
これは私の個人的な意見ですが、あなたの意見を知りたいと思います。私が間違っているかどうかを説明し、短所の議論をしてください。私は本当にHibernateを使用したいのですが、BeanModelへの直接マッピングを提供できる別のORMまたはMyBatisフレームワークに類似したものを知っているかもしれません。
私の目的のために、マッパー、バリデーター、エディター、高度な検索パネル、DAO、サービス、GWT-RPCクラスを使用してBaseModelスタイルのドメインクラスを生成するアプリを開発します。最善の解決策は、独自の足場を開発することです:D。あなたはそれについてどう思いますか?