我在javer中提交了一个对象,它在表中创建了初始记录,除了我注意到一件事:
在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的组织,在使用javer提交之前,我确保它具有一个值,但是当我检查jv_global_id时,没有带有“记录器/组织”片段的记录。正确审核了“人”下的其他对象以及与实体地方相关联的其他组织对象。当我查看该提交的阴影时,place.recorder.organisation对象为null。
当我编辑场所->人员(记录员)->组织对象并将其提交到javers中时,此时将保存managed_type“记录员/组织”的INITIAL类型记录,这不应该是因为它是更新。因此,当我查看第一次提交的阴影时,它将显示第二次提交的值。
如果我将“组织”更改为实体对象,它将保存初始值,但是我想避免这种情况,因为我们只想维护一个实体(即“地方”)。
Aaand并非所有放置对象都发生这种情况。某些对象在第一次提交时会存储“记录器/组织”片段,我丢失了什么吗?我有什么要检查的吗?
我使用MSSQL,也使用Spring JPA。