首页 > 解决方案 > Javers 片段没有 jv_global_id 记录

问题描述

我在 javers 中提交了一个对象,它在表中创建了初始记录,除了我注意到一件事:

在 jv_snapshot 表中,我有对象 Person(记录器)的以下状态:

{
  "firstName": "test",
  "lastName": "test",
  "address": {
      "valueObject": "x.model.Address",
      "ownerId": {
        "entity": "x.Place",
        "cdoId": 99999
      },
    "fragment": "recorder/address"
    },
    "organisation": {
       "valueObject": "x.model.Organisation",
       "ownerId": {
          "entity": "x.Place",
          "cdoId": 99999
        },
        "fragment": "recorder/organisation"
      },
    ...
}

组织是ValueObject,我在用javers提交它之前确保它有一个值但是当我检查jv_global_id时,没有片段“记录器/组织”的记录。与实体 Place 关联的 Person 和其他 Organization 对象下的其他对象已正确审核。当我查看该提交的影子时,place.recorder.organisation 对象为空。

当我编辑地点 -> 人(记录器) -> 组织对象并在 javers 中提交它时,就保存了 managed_type “记录器/组织”的初始类型记录,这不应该是因为它是更新。所以当我查看第一次提交的影子时,它会显示第二次提交的值。

如果我将组织更改为实体对象,它将保存初始值,但我想避免这种情况,因为我们只想维护一个实体(即地方)。

Aaand 这不会发生在所有放置对象上。一些对象在第一次提交时存储一个“记录器/组织”片段我错过了什么吗?有什么我应该检查的吗?

我使用 MSSQL,也使用 Spring JPA。

标签: javers

解决方案


推荐阅读