Javers 查询返回空结果
Posted
技术标签:
【中文标题】Javers 查询返回空结果【英文标题】:Javers query returning empty results 【发布时间】:2021-03-18 06:17:28 【问题描述】:在我的 mysql 数据库中,我有审计表:
global_id_pk|local_id|fragment|type_name |owner_id_fk|
------------|--------|--------|--------------------------------------------------|-----------|
1|3014 | |de.cc.carorderprocess.models.Car | |
snapshot_pk|type |version|state |changed_properties |managed_type |global_id_fk|commit_fk|
-----------|-------|-------|------|-----------------------------------------------------|------------------------------------|------------|---------|
1|INITIAL| 1|......|.....................................................|de.cc.carorderprocess.models.Car | 1| 1|
5|UPDATE | 3|......|[¶ "modifyDate",¶ "nameCar"¶] |de.cc.carorderprocess.models.Car | 1| 3|
6|UPDATE | 4|......|[¶ "modifyDate",¶ "modelCar"¶] |de.cc.carorderprocess.models.Car | 1| 4|
但是当我在我的控制器中这样做时:
Javers javers = JaversBuilder.javers().build();
QueryBuilder jqlQuery = QueryBuilder.byClass(Car.class);
List<CdoSnapshot> snapshots = javers.findSnapshots(jqlQuery.build());
logger.info(javers.getJsonConverter().toJson(snapshots));
Car car2 = carRepo.findById(3014l).get();
jqlQuery = QueryBuilder.byInstance(car2);
Changes changes = javers.findChanges(jqlQuery.build());
logger.info(javers.getJsonConverter().toJson(changes));
对于这两件事,我得到的是空数组
【问题讨论】:
【参考方案1】:试试
queryBuilder jqlQuery = QueryBuilder.byClass(Car.class);
List<CdoSnapshot> snapshots = javers.findSnapshots(jqlQuery.build());
logger.info(javers.getJsonConverter().toJson(snapshots));
car car2 = carRepo.findById(3014l).get();
jqlQuery = QueryBuilder.byInstance(car2);
Changes changes = javers.findChanges(jqlQuery.build());
logger.info(javers.getJsonConverter().toJson(changes));
【讨论】:
以上是关于Javers 查询返回空结果的主要内容,如果未能解决你的问题,请参考以下文章