我有以下映射:
@Mapper
public interface ParticulierMapper {
ParticulierMapper INSTANCE = Mappers.getMapper( ParticulierMapper.class );
TParticulier toDTO(Particulier particulier);
Particulier toEntity(TParticulier particulier);
TParticulierAttributMeta toDTO(ParticulierAttributMeta particulierAttributMeta);
ParticulierAttributMeta toEntity(TParticulierAttributMeta particulierAttributMeta);
TAdresse toDTO(Adresse adresse);
Adresse toEntity(TAdresse adresse);
default String toEntity(TGufidValue value){
return value.getGufid();
}
default TGufidValue toDTO(String value){
TGufidValue tGufidValue=new TGufidValue();
tGufidValue.setGufid(value);
return tGufidValue;
}
default LocalDateTime map(XMLGregorianCalendar value){
return value.toGregorianCalendar().toZonedDateTime().toLocalDateTime();
}
}`
TGufidValue正确转换为TParticulier / Particulier但跳过Adresse / TAdresse转换,如下所示:
public Adresse toEntity(TAdresse adresse) {
if ( adresse == null ) {
return null;
}
Adresse adresse1 = new Adresse();
adresse1.setLibelleAdresse( adresse.getLibelleAdresse() );
adresse1.setParticulierAttributMetas( tParticulierAttributMetaListToParticulierAttributMetaList( adresse.getParticulierAttributMetas() ) );
adresse1.setBoite( adresse.getBoite() );
adresse1.setComplement( adresse.getComplement() );
adresse1.setLocalisationSpatiale( adresse.getLocalisationSpatiale() );
adresse1.setLocalite( adresse.getLocalite() );
adresse1.setNumero( adresse.getNumero() );
adresse1.setRegion( adresse.getRegion() );
adresse1.setVille( adresse.getVille() );
adresse1.setVoie( adresse.getVoie() );
return adresse1;
}
将跳过作为TGufidValue对象的TAddress的所有字段,因此不会出现在TAdresse转换中。 在TParticulier / Particulier以外的其他类中,是否有一些特殊的事情可以使这种转换全局可用?
答案 0 :(得分:0)
没关系我发现了我的问题。只是在使用TGufidValue时,dto和实体字段没有相同的名称。编译时警告可能很有意思,表明存在一些不匹配的字段。