在单个查询中获取带有子更改的父更改

Fetching parent changes with children changes in single query

我使用 javers-spring-boot-starter-sql,版本 5.11.1.

正在获取父实体的更改:

QueryBuilder jqlQuery = QueryBuilder.byInstanceId(23702, CoalAgreement.class).withNewObjectChanges().withChildValueObjects();
Changes changes = javers.findChanges(jqlQuery.build());

returns 更改仅包含有关将 PriceList 添加到集合的信息:

Commit 1.00 done by admin at 04 sie 2020, 15:19:28 :
* new object: CoalAgreement/23702
* changes on CoalAgreement/23702 :
  - 'priceLists' collection changes :
    0. '...PriceList/43853' added

问题是我还想知道 PriceList 子集合的变化。我发现的唯一方法是手动获取 PriceList 更改:

Changes changes = javers.findChanges(QueryBuilder.byInstanceId(43853,PriceList.class).build());

有什么方法可以同时获取父集合和子集合的变化吗?

目前,预加载整个对象图的唯一方法是使用影子查询。

在影子查询中,您可以指定预加载范围。有四个作用域。范围越广,加载到结果图中的对象阴影就越多(并且执行的数据库查询也越多)。

https://javers.org/documentation/jql-examples/#query-for-shadows