我在模式类中具有映射,其中一个策略类型可以由多个用户使用。策略与用户之间的一对多关系。创建了一个users表,其中包含一列引用策略ID的列。
我想编写保管库查询以获取与其用户一起使用的策略。
注意:策略和用户具有不同的状态/架构类。
是否可以在多个状态下编写保管库查询。
答案 0 :(得分:0)
您绝对可以-您需要创建VaultQueryCriteria,使节点查找两种状态类型。
您可以通过向VaultQueryCriteria传递一组状态类来执行此操作。我在下面提供了一个示例片段,其中包含一些任意状态类型(DiceRollState和SettlementState)。重要的是要注意,您需要将ContractState指定为queryBy方法的类型参数(假设所有状态都应将ContractState子类化)
serviceHub.vaultService.queryBy<ContractState>(QueryCriteria.VaultQueryCriteria(contractStateTypes = setOf(DiceRollState::class.java, SettlementState::class.java)))