User オブジェクトが永続化される前に呼び出される @PrePersist メソッドを作成しました。メソッドの目的は、ユーザーのために一種の予約を行うことです。そのため、他の誰も彼の電子メール アドレスを取得することはできません。そのため、ユーザーが永続化されようとしているときに、「ユーザー #xyz の EmailReservation を作成してください」と言います。
私の問題は、ユーザーが以前に永続化されていないときに #xyz を取得することです。id は null ですが、ユーザーを表すエンティティが既に作成されているため、DatastoreService.allocateIds を使用できません。私はそのエンティティにアクセスできますが、getKey() は null ID のキーを返します。ID がどうなるかはまだ決定されていません。
したがって、次のいずれかが可能であることを願っています。
- 永続化されたときにエンティティが持つ ID を把握する
- 永続化する前に、既に作成されているエンティティに特定の ID を与えます。
何か案は?