Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用Javers审核MongoDB子文档_Java_Mongodb_Javers - Fatal编程技术网

Java 使用Javers审核MongoDB子文档

Java 使用Javers审核MongoDB子文档,java,mongodb,javers,Java,Mongodb,Javers,我正在尝试使用Javers审核对子文档的更改,但是当我使用findChanges时,子文档的更改没有显示出来: 以下是文件和子文件的结构: { "id": "5fafa42d99fa9d005fc288a1", "lastModifiedDate": "2020-11-14T09:32:45.118+00:00", "workflowState": { "isTerm

我正在尝试使用Javers审核对子文档的更改,但是当我使用
findChanges
时,子文档的更改没有显示出来:

以下是文件和子文件的结构:

{
  "id": "5fafa42d99fa9d005fc288a1",
  "lastModifiedDate": "2020-11-14T09:32:45.118+00:00",
  "workflowState": {
    "isTerminus": false,
    "label": "Under Consideration",
    "entry": false
  },
  "workflowId": "5f9ef05e607b75554aa7e93f",
}
但是,当我使用下面的代码对此实体进行更改时,更改中仅显示属性
lastModifiedDate

WorkflowState newState = workflowService.transitionIssue(issue, transition);

IssueDTO issueDTO = new IssueDTO(
    issue.getId(),
    new Date(), // lastModifiedDate
    newState, // also new but is not getting listed in changes
    issue.getWorkflowId()
);

Issue entity = Issue.fromIssueDto(issueDTO);

issueService.save(entity);
return javers.findChanges(QueryBuilder.byInstance(issue).build());
下面是我用来检索更改的代码:

WorkflowState newState = workflowService.transitionIssue(issue, transition);

IssueDTO issueDTO = new IssueDTO(
    issue.getId(),
    new Date(), // lastModifiedDate
    newState, // also new but is not getting listed in changes
    issue.getWorkflowId()
);

Issue entity = Issue.fromIssueDto(issueDTO);

issueService.save(entity);
return javers.findChanges(QueryBuilder.byInstance(issue).build());

我在这里遗漏了什么吗?

看起来我需要在查询中使用
.withChildValueObjects()
方法,如下所示:

javers.findChanges(
      QueryBuilder
      .byInstance(issue)
      .withChildValueObjects()
      .build()
);