エンティティで IDを使用Long
して、データストアに格納するだけでなく、他のエンティティを参照しています。現在、RequestFactory を使用してクライアントで create() オブジェクトを作成し、それらを永続化していますが、サーバーが生成した ID を把握する方法が必要です。
これは、2回の旅行が必要な方法の1つです。
final OrganizationProxy proxy = context.create(OrganizationProxy.class);
context.persist().using(proxy).fire(new Receiver<Void>(){
public void onSuccess(Void response)
{
requestFactory.find(proxy.stableId()).fire(new Receiver<OrganizationProxy>()
{
public void onSuccess(OrganizationProxy response)
{
//hey, now response has the server-generated id in it, along with any other values the server populated
}
});
}
});
しかし、2 回目のトリップなしで永続 ID を取得する方法が必要なようです。そもそも requestFactory.find() が機能するには、永続的な ID が必要なようです。
サーバーへの 2 回目のリクエストなしで永続 ID を取得するにはどうすればよいですか?
=======更新=======
(tbroyerが私に言った後;))、 RequestContextLong
の persist() メソッドから ID を返すことができることに最終的に思いつきました。これは から永続 ID を取得しませんEntityProxyId
が、単一の要求で新しいオブジェクトの永続 ID を取得します。
この質問はそのままにしておきます - EntityProxyId から永続 ID を取得することにまだ興味があります。