当将mapstruct实体映射到DTO的JPA映射器中没有加载惰性字段时,如何跳过调用getter方法?
我使用JPA EntityGraph为method1加载所需的子实体,但method2我使用的是不同的EntityGraph,我不想为每种情况创建不同的映射器。
有没有办法为两个方法创建一个映射器,并忽略延迟加载的属性?
发布于 2018-08-31 19:47:24
可以使用两种方法进行相同映射,另一种方法忽略未初始化的字段
abstract Personne toDtoV1(PersonneModel model);
@Mapping(target = "nom", ignore = true)
abstract Personne toDtoV2(PersonneModel model);或者,如果您只需要一种方法,您可以在ignore中创建一个包含所有可以延迟加载的字段的映射,并且在映射之后,您可以检查关系是否已加载,然后您可以自己进行映射
@Mapping(target = "nom", ignore = true)
abstract Personne toDtoV2(PersonneModel model);
@AfterMapping
void afterpersonneModel(PersonneModel dto, @MappingTarget Personne mode){
//check if relation is loaded
///and make the mapping
}https://stackoverflow.com/questions/48590045
复制相似问题