2017-05-18 4 views
1

BeanからHashMapへのマッピング中にいくつかのフィールドを除外したいとします。オリカビーンマッパのフィールドを除外する方法は?

オリカの定義:

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

Bean定義:

public class MyReq { 
    private String myproperty; 
} 

使用法:

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

結果:Map除外mypropertyフィールドが含まれています!どうして?

答えて

1

私もこの問題に直面しましたが、Mapインスタンスのみで動作します(定義したクラスが宛先オブジェクトであれば問題ありません)。しかし、Orikaには次のようなマッピングルールを定義する複数の方法があるため、回避策があります。

mapperFactory.classMap(MyReq.class, Map.class) 
         .fieldMap("myproperty").exclude().add() 
         .byDefault() 
         .register(); 
関連する問題