如何使用corda中的自定义查询在一个状态中使用主键值从其他状态获取值

时间:2017-12-14 05:28:16

标签: corda

我正在尝试使用自定义查询在当前状态下使用主键从其他状态获取值。我无法找到从哪里开始和使用什么的方法。我读到了关于valutqueryby的文章。但不知道自定义查询。请帮帮我

1 个答案:

答案 0 :(得分:1)

我是如何做到的是在创建第二个状态期间,将第一个状态线性ID放入状态,然后: -

val generalCriteria = QueryCriteria.VaultQueryCriteria(Vault.StateStatus.UNCONSUMED) 

val firstLinearIdExpression = builder { (SecondSchemaV1.SecondEntity::orderfirstLinearId).equal(firstLinearId.id.toString()) }

val results = serviceHub.vaultService.queryBy<Second>(generalCriteria .and(QueryCriteria.VaultCustomQueryCriteria(firstLinearIdExpression))).states

然后您将从保险库中获得结果。