0

GWT クライアントから HQL クエリを起動したかったのです。しかし、それは非同期で行われるため、一連のクエリを実行したい場合、どうすればよいでしょうか?

すべてのデータは非同期でクライアントに転送され、使用されます。しかし、クエリを順番に実行したい場合、どうすればよいでしょうか?

主に、これらの HQL 結果を処理する順序は変更しないでください。

ご不明な点がございましたら、お知らせください。前もって感謝します。

4

3 に答える 3

1

GWT クライアントは、クライアント ファイルで定義した順序でクエリを実行します。

yourClient.java

Query q1; //execute method  first request
Query q2; // execute method second request

クエリは、最初に q1、次に q2 のシーケンスで実行されますが、q2 は q1 の完了を待ちません。要求が送信されると、応答を取得する順序について保証できません。q1 の進行中に q2 が実行され、最初に応答が返される可能性があります。

クライアント側からシーケンスを作成するためのほとんどの操作は、少し高価です。つまり、AsyncCallback の成功メソッドでクエリを使用できます。q1の応答が来るとq2が実行されますが、複数のクエリがある場合は高価なソリューションです。

最善の方法は、Service メソッドにサーバー側ですべてのクエリを実行させ、結果のマップを返し、データを表示したい任意の順序でクライアント側に入力することです。

于 2012-04-19T05:54:26.187 に答える
0

GWT で Hibernate を使用するのは、思っているほど簡単ではありません。Google には、Hibernate の使用に関する適切なドキュメントがあります。そのドキュメントはもう読みましたか?

ギリアドの使用をお勧めします。あなたの問題が何であるか正確にはわからないので、これで問題が解決するかどうかはわかりません。

于 2012-04-19T06:31:51.160 に答える
0

GWT は非同期なので、request->callback に基づいてすべてをビルドする必要があります

このような場合、次の 2 つのことを行うことができます。

  • すべてのクエリの結果を収集して返す単一の RPC サービスのみを用意します。サービスはプレーンな Java サーブレットであることを忘れないでください
  • それぞれ 1 つのクエリを実行する多くの RPC サービスを用意します。最初のクエリを作成し、コールバックで結果を表示 (または収集) し、2 番目のクエリを呼び出し、そのコールバックで同じ手順を実行します... など。
于 2012-04-19T06:44:10.653 に答える