2017-11-28 17 views
0

以下のマッピングでは、ObjectBはmap-null = "false"に設定されています。つまり、ObjectAのnullプロパティはObjectBに設定されません。dozerの特定のフィールドについて、クラスレベルのmap-null = "false"をバイパスする方法はありますか?

しかし、特定のプロパティ(たとえばpropB)では、ObjectBのプロパティがnullであっても正常に渡して設定するにはObjectAが必要です。

このプロパティでmap-null = "false"をバイパスするにはどうすればよいですか?私ができる回避策がありますか?

ありがとうございました。

<mapping wildcard="false"> 
     <class-a>ObjectA</class-a> 
     <class-b map-null="false">ObjectB</class-b> 
     <field> 
      <a>propA</a> 
      <b>childB.propA</b> 
     </field> 
     <field> 
      <a>propB</a> 
      <b>childB.propB</b> 
     </field> 
</mapping> 

答えて

0

ObjectAとchildBの間で別々のドーザーマッピングを作成することで回避策を行いました。

<mapping wildcard="false"> 
     <class-a>ObjectA</class-a> 
     <class-b map-null="false">ObjectB</class-b> 
     <field> 
      <a>propA</a> 
      <b>childB.propA</b> 
     </field> 
     <field> 
      <a>this</a> 
      <b>childB</b> 
     </field> 
</mapping> 

<mapping wildcard="false"> 
     <class-a>ObjectA</class-a> 
     <class-b>childB</class-b> 
     <field> 
      <a>propB</a> 
      <b>propB</b> 
     </field> 
</mapping> 

このように、propBはnullになる可能性があり、マッピングが異なるため有効になります。

関連する問題