3

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

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

participant Customer identified by customerId {
    o String customerId
} 

“o Customer owner”和“--> Customer custId”有什么区别?

4

1 回答 1

9

o表示这是一个类的o拥有属性。又名“场”。这意味着当类的实例被删除时,它的所有属性也会被删除。

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

在您的示例中,您的资产Field具有Customer称为所有者的属性或类型。当Field的实例被删除时Customer,它们存储在所有者属性中的实例也会被删除。

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

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

在 Composer 中,关系不进行级联删除,并且没有对关系进行参照完整性检查。由应用程序检查位于关系末尾的资源是否存在,并做出适当的响应。

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

于 2017-06-07T10:54:01.120 回答