.cto文件中使用的'o'和箭头符号之间有什么不同?

dee*_*mar 3 hyperledger-composer

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

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

participant Customer identified by customerId {
    o String customerId
} 
Run Code Online (Sandbox Code Playgroud)

"o Customer owner"和" - > Customer custId"之间有什么区别?

Dan*_*man 9

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

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

在您的示例中,您的资产Field具有Customer名为owner 的属性或类型.当实例Field被删除的情况下Customer,他们都储存在所有者属性也将被删除.

Field资产也有一个关系Customer存储在一个名为属性实例custId.删除Field 的实例不会删除Customer关系所指向的实例.

Composer关系本质上是类型指针.它们是指向的资源的完全限定类型名称,以及指向的实例的标识.

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

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