不同的' o'和.cto文件中使用的箭头符号?

时间:2017-06-07 10:44:35

标签: hyperledger-composer

我在' o'之间感到有点困惑。和' - >'在模型文件中使用,例如:

asset Field identified by assetId {
    o String assetId
    o Customer owner
    --> Customer custId
}

participant Customer identified by customerId {
    o String customerId
} 

" o客户所有者"之间的区别是什么?和" - >客户保留"?

1 个答案:

答案 0 :(得分:9)

o表示这是类的o wned属性。阿卡是一个“领域”。这意味着当删除类的实例时,它的所有属性也是如此。

-->表示这是与另一个可寻址资源的关系。 Aka指针或主/外键实体关系。

在您的示例中,您的资源Field有一个名为所有者的属性或类型Customer。删除Field的实例时,还会删除它们存储在所有者属性中的Customer实例。

Field资产还与存储在名为Customer的属性中的custId实例有关系。删除Field的实例将删除关系所指向的Customer实例。

作曲家关系本质上是打字指针。它们是指向的资源的完全限定类型名称,以及指向的实例的标识。

在Composer关系中不进行级联删除,并且没有关系的参照完整性检查。应用程序可以检查关系结束时的资源是否存在,并进行适当的响应。

请注意,将来我们可能会阻止o使用资产和参与者。对于那些期望在各自的注册表中找到它们的人来说,它确实没有多大意义,并且令人困惑。对于资产和参与者,人们应该使用-->