我需要将xml转换为jpa实体。我使用jaxb来获取我的DTO并使用mapStruct将dto转换为实体。 但是,我需要从数据中提取一些数据并将其设置为我的实体上的列表。我的映射器看起来像这样
Particulier toEntity(TParticulier particulier);
List<AttributMeta> toEntity(List<TAttributMeta> attributMetas);
default String extractMetaData(TAttributGufIdWithMeta value) {
List<TAttributMeta> attributMetas=value.getAttributMeta();
???particulier.addAttributMetas(toEntity(attributMetas));??
return value.getValue().getGufid();
}
我不知道如何在extractMetaData方法中访问我的实体Particulier。
答案 0 :(得分:0)
要进行此类映射,您需要将@MappingTarget
与@BeforeMapping
/ @AfterMapping
结合使用。有关详细信息,请参阅参考文档中的here。
简而言之,您需要使用mapper或使用过的引用来获得如下方法:
@AfterMapping // It can also be @BeforeMapping
public void afterMapping(TParticulier source, @MappingTarget Particulier target) {
//do what you need here
}