У меня есть группа сущностей пользователя и сущность транзакции под этим. Я автоматически выделяю идентификаторы для транзакций. Я хочу создать уникальный ключ для интеграции с платежным сервисом. Поскольку транзакция не является корневой сущностью, не гарантируется, что автоматически выделенные идентификаторы будут уникальными, и, следовательно, я не могу использовать их в качестве уникальных ключей. Что я сейчас делаю, следуя предложению на
уникальные автоматически сгенерированные идентификаторы Google Cloud Datastore
состоит в том, чтобы иметь фиктивную корневую сущность и выделять для нее идентификаторы и хранить этот идентификатор вместе с сущностью транзакции в качестве отдельного поля. Однако, поскольку это фиктивный объект, я в настоящее время не записываю сам фиктивный объект в хранилище данных.
Я прочитал другие сообщения
Как долго остаются неиспользованные идентификаторы при использовании allocateIds () выделено?
а также
но я все еще не уверен. Должен ли я вставлять эту фиктивную сущность только с помощью ключа? Если нет, как отслеживаются все выделенные идентификаторы для этого фиктивного объекта и что происходит с соответствующим использованием хранилища?