2017-05-18 3 views
1

Je souhaite exclure certains champs lors du mappage d'un bean vers HashMap.Comment exclure le champ dans le mappeur de haricots Orika?

définition Orika:

static { 
     final MapperFactory mapperFactory = new DefaultMapperFactory.Builder().build(); 
     mapperFactory.classMap(MyReq.class, Map.class) 
       .exclude("myproperty") 
       .byDefault() 
       .register(); 
     MAPPER = mapperFactory.getMapperFacade(); 
    } 

définitions Bean:

public class MyReq { 
    private String myproperty; 
} 

Utilisation:

MyReq req = new MyReq; 
Map map = MAPPER.map(req, Map.class); 

Résultat: le Mapcontient le champ myproperty exclu! Pourquoi?

Répondre

1

J'ai également fait face à ce problème, mais seulement avec Map instances (cela fonctionne bien lorsque la classe que vous avez définie est l'objet de destination). Cependant, il existe une solution de contournement, car Orika a plusieurs façons de définir des règles de mappage, comme ceci:

mapperFactory.classMap(MyReq.class, Map.class) 
         .fieldMap("myproperty").exclude().add() 
         .byDefault() 
         .register();