查询 Corda 中的 Collection 属性

Querying on Collection attribute in Corda

我正在尝试在集合字段的 Corda 未使用状态中搜索值。

我可以使用 -

搜索字符串字段
        Field uniqueAttributeName = MySchema.PersistentIOU.class.getDeclaredField("fieldname");
        CriteriaExpression uniqueAttributeEXpression = Builder.equal(uniqueAttributeName, "valueToSearch");

        QueryCriteria customCriteria = new QueryCriteria.VaultCustomQueryCriteria(uniqueAttributeEXpression);
        result = rpcOps.vaultQueryByCriteria(customCriteria, MyState.class).getStates();

当 "fieldname" 是 String 时,以上工作正常,但我有另一个字段是 List,我不确定如何在 List 中搜索特定值。

请协助。

在与@Roger3cev 快速交谈后,我们认为最好的方法是修改您的 ORM 包装器,以便您在状态和您希望在该列表中拥有的字段列表之间具有父子关系。执行此操作后,您可以使用可用的 JDBC 连接来查询子状态,然后使用与父级的关系来获取 Corda 状态。