如何解决关系以获取指向的引用?

时间:2017-04-26 16:32:31

标签: hyperledger-composer

我一直在创建一个模型,其中一个资产可以引用特定参与者。

当我使用composer-client API检索我的资产时,我想检索被引用参与者的详细信息。

CTO language document我看到这句话: “必须解析关系以检索被引用对象的实例。如果对象不再存在或关系中的信息无效,则解析行为可能导致null。”但它没有描述如何做到这一点。

有人可以告诉我解决关系的最佳方法是什么,以便我可以检索我指向的对象实例(在这种情况下是参与者)?

1 个答案:

答案 0 :(得分:7)

您可以通过多种方式解决关系

让我们说我们有一个资产Widget定义为:

namespace SO

participant Person identified by email {
    o String email
}

asset Widget identified by assetId {
    o String email
    --> Person owner
}
  1. 获得Widget资产后,您可以调用Widget.owner.getFullyQualifiedType(),其中会返回owner所在的参与者注册表的名称。然后拨打Widget.owner.getIdentifier()以获取ID owner中的PersonRegistry,然后致电PersonRegistry.get(identifier)以获取owner参与者
  2. Widget获取WidgetRegistry后,您可以致电WidgetRegistry.resolve(identifier)来解决所有关系