Запрос хранилища в Корде - PullRequest
1 голос
/ 07 июня 2019

У меня есть сопоставление в классах схемы, где один тип политики может использоваться несколькими пользователями. Отношение один ко многим между политикой и пользователями. Создана таблица пользователей, которая содержит один столбец, который ссылается на идентификатор политики.

Я хочу написать запрос хранилища, чтобы получить политику вместе со своими пользователями.

Примечание. Политики и пользователи имеют разные классы состояний / схем.

Можно ли написать запрос хранилища для нескольких состояний.

1 Ответ

0 голосов
/ 07 июня 2019

Вы абсолютно можете - вам нужно создать VaultQueryCriteria, который заставляет узлы искать оба типа состояний.

Вы делаете это, передавая VaultQueryCriteria набор классов состояний. Ниже приведен пример фрагмента с некоторыми произвольными типами состояний (DiceRollState & SettlementState). Важно отметить, что вам нужно указать ContractState в качестве параметра типа для метода queryBy (учитывая, что все состояния должны быть подклассом ContractState)

serviceHub.vaultService.queryBy<ContractState>(QueryCriteria.VaultQueryCriteria(contractStateTypes = setOf(DiceRollState::class.java, SettlementState::class.java)))

...