在单个查询中获取带有子更改的父更改
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
我使用 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