Хранение UniqueIdentifier в качестве ссылки на другие состояния - PullRequest
0 голосов
/ 12 сентября 2018

У меня есть PurchaseOrder state, где первичный ключ будет PurchaseOrderID и SupplierName.

У меня есть еще один LetterOfCredit state, который должен ссылаться на вышеуказанное состояние, чтобы мы могли получить PurchaseOrder из хранилища, если у нас есть LetterOfCredit state.

  • Таким образом, я храню PurchaseOrderID и SupplierName в LetterOfCredit также
  • или я могу сохранить UniqueIdentifier из PurchaseOrder state в LetterOfCredit state.
  • или я генерирую уникальный transactionID я и храню в обоих состояниях как отдельное поле.

Какой должен быть правильный путь?

Вопрос 2: Если я выберу второй подход, то правильно ли генерировать UniqueIdentifier из [external id, id] для запроса состояния из хранилища.

Спасибо за любую помощь.

1 Ответ

0 голосов
/ 16 сентября 2018

Если ваше состояние purchaseOrder является линейным, то оно однозначно идентифицируется с linearId, которое оказывается UniqueIdentifier. Теперь вы можете случайным образом сгенерировать идентификатор из UniqueIdentifier() или вы можете передать ему externalId (который вы хотели бы использовать для синхронизации с вышестоящими системами) и вернуть уникальный идентификатор, используя UniqueIdentifier.fromString(externalId). Перейдите ко второму подходу и получите UniqueIdentifier из externalId, как указано выше.

...