2011-11-10 7 views
1

GWT RequestFactoryは、保存中/データを更新いいです以下のように使用して:GWT requestFactory検索

EmployeeRequest request = requestFactory.employeeRequest(); 
EmployeeProxy newEmployee = request.create(EmployeeProxy.class); 
newEmployee.setName("Joe!"); 

Request<Void> createReq = request.persist().using(newEmployee); 
createReq.fire(); 

を、我々は削除の代わりに削除するために存続します。

次にRequestFactoryを使用して検索してください。私のドメインオブジェクトは、従業員の名前で、&のアドレスでログインしています。 3つのフィールドはすべて検索ではオプションです。RequestFactoryを使用してこれを実現できますか? RPCを使うべきですか?

よろしくあなたの例を使用して

答えて

1

、あなたはこのようなRequestFactoryでユーザーを見つけることができます:

request.employeeRequest().find(newEmployee).with("name", "login", "address"); 
+0

name、login&addressは、エンティティ 'Employee'のフィールドです。 RequestFactoryまたはDomainでこれをどうやって行うことができるかを教えてください。私が間違っていない場合は、newEmployeeの3つのフィールド値を渡しています。 – user237865

+0

あなたは正しいです、 'setName()'に気付かなかった - その行をスキップして 'EmployeeProxy'(例えば新しい[empty]オブジェクト)を使用した場合、それらのフィールドのどれか/すべてに一致するEmployeeを取得します。したがって、 'request.employeeRequest()。find(newEmployee).with(...)'は、あなたが要求した(単数の)従業員を取得します。一方、あなたが多くを探しているなら、あなたの 'RequestContext'インターフェースの中に' findAny(...) 'を実装するでしょう。 何らかの理由でエンティティが 'find(..) 'で動作しない場合は、' Locator'を実装するクラスを作成する必要があります。 –

1

あなたはGWT-RPCでそれを行うだろうかと非常に似て、いくつかの方法でそれを行うことができ:

  • request.findEmployees(optionalName, optionalLogin, optionalAddress).fire(new Receiver<List<EmployeeProxy>>() { … })
  • EmployeeSearchProxy search = request.create(EmployeeSearchProxy.class);
    search.setName(optionalName);
    search.setLogin(optionalLogin);
    search.setAddress(optionalAddress);
    request.findEmployees(search).fire(new Receiver<List<EmployeeProxy>>() { … })
関連する問題