科尔多瓦一对多关系

时间:2019-01-04 10:33:58

标签: corda

我有三个表,可以说T1,T2和T3。 T1与T2具有一对多的关系,T2和T3之间具有多对多的关系。
一旦T3中的多行到达特定状态,T1状态将更新为“完成”,因此T2中的从属行将更新。 一旦T2的所有行都达到完成状态(取决于T3),T1状态就会更新为“完成”。 我正在尝试在表之间建立一对多关系,但遇到多个错误。
您可以从Corda角度提出正确的设计模式吗?

1 个答案:

答案 0 :(得分:1)

这里没有对或错的设计。我们尝试了不同的方法,不同的设计在某些情况下表现出色,但在其他情况下却惨败,反之亦然。

我能建议的是,这取决于您的T2或T3。

  1. 如果T2 / T3对应于现实世界中的文档/资产,并且彼此之间具有父/子关系,那么最好以状态形式对它们进行建模,并通过{{1}进行链接}或$file = ''.$_SERVER['DOCUMENT_ROOT'].'/projects/file.zip'; $mime = mime_content_type($file); $info = pathinfo($file); $name = $info['basename']; $output = new CURLFile($file, $mime, $name); $data = array( "file" => $output, "data" => '{"title":"Test"}' ); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'https://example.com'); curl_setopt($ch, CURLOPT_POST,1); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); $result = curl_exec($ch); if (curl_errno($ch)) { $result = curl_error($ch); } curl_close ($ch); (Corda 4)。并让Contract命令指定状态应如何从一个生命周期过渡到另一个生命周期。 link
  2. 如果T2 / T3是对象,即linearIdlinearPointerlistOfApprovers,那么最好让它们成为父状态本身内的listOfAttachments对象。并在架构中使用JPA进行listOfCompletedStatus批注。 link