Идентификатор ключа сущности вместе с родом и родом (и, возможно, пространством имен) определяют уникальный ключ сущности, который имеет смысл , даже если сущность на самом деле не существует: возможно иметьдочерние сущности в группе сущностей, привязанной к предку, который не существует.Из путей предков (выделено мной):
Когда вы создаете сущность, вы можете дополнительно указать другую сущность в качестве ее родителя;новая сущность является дочерней по отношению к родительской сущности (обратите внимание, что в отличие от файловой системы, родительская сущность фактически не должна существовать ).
Таким образом, тот факт, что ваши фиктивные сущностина самом деле существуют или не должны иметь значения: их идентификаторы ключей, предварительно выделенные с помощью allocateIds()
, никогда не должны истекатьНачиная с Назначение идентификаторов :
Автоматический генератор идентификаторов в режиме хранилища данных будет отслеживать идентификаторы, которые были назначены этими методами, и избегать их повторного использования для другой сущности, поэтому вы можете безопасно использоватьтакие идентификаторы без конфликтов.Вы не можете вручную выбирать, какие значения будут возвращены методом allocateIds()
.Значения, возвращаемые allocateIds()
, назначаются в режиме хранилища данных.
Личные соображения, подтверждающие это мнение:
- хранилище данных не имеет ограничений на число сущностей одного и того жевид, предок и пространство имен, поэтому оно должно поддерживать практически неограниченное количество уникальных идентификаторов.ИМХО это означает, что не нужно даже рассматривать возможность их повторного использования.Вероятно, поэтому нет никаких упоминаний о каком-либо крайнем сроке или времени истечения для выделенных идентификаторов.
- Если идентификаторы для удаленных объектов будут когда-либо использоваться повторно, это создаст серьезную проблему для восстановления объектов хранилища данных из резервных копий - потенциально перезаписывая новые объектыс повторно используемыми идентификаторами с объектами, которые ранее использовали те же идентификаторы