簡體   English   中英

如何映射構圖關系?

[英]How to map a composition relationship?

我想在不使用Dozer的深度映射屬性的情況下映射合成。

另一個重要元素是組成類和主類映射到同一類

我已經搜索過推土機文檔(這很好),但是我仍然沒有找到我想要的東西

示例: A和B-> C

Class A {
  B b
  a1
}

Class B {
  b1
  b2
}

Class C {
  ca1
  cb1
  cb2

}

我不想像這樣映射:

<mapping>
  <class-a>A</class-a>
  <class-b>C</class-b>
  <field>
    <a>b.b1</a>
    <b>cb1</b>
  </field>
  etc.
</mapping>

我想使用類似:

<mapping>
  <class-a>B</class-a>
  <class-b>C</class-b>
  <field>
    <a>b1</a>
    <b>cb1</b>
  </field>
  etc.
</mapping>
<mapping>
  <class-a>A</class-a>
  <class-b>C</class-b>
  <field>
    <a>a1</a>
    <b>ca1</b>
  </field>
</mapping>

我的班級B與其他班級的作文一起使用。

我想尊重DRY(不要重復自己)。

您不必指定深層映射,您應該能夠說出B1如何映射到B2:

<mapping>
  <class-a>B1</class-a>
  <class-b>B2</class-b>
  <field>
    <a>b1Param1</a>
    <b>b2Param1</b>
  </field>
</mapping>

作為單獨的映射,如何將A1映射到A2(但不映射組成類的子映射):

<mapping>
  <class-a>A1</class-a>
  <class-b>A2</class-b>
  <field>
    <a>b1</a>
    <b>b2</b>
  </field>
</mapping>

推土機將認識到b1和b2是特定類的對象,並尋找兩者之間的映射,可以將其作為單獨的映射提供。

不幸的是,除了使用深度映射並重復它之外,沒有其他解決方案。
問題是Dozer映射C-> A和B。這不容易實現。

一種解決方案是在“單向”映射的情況下能夠進行這種類型的自動映射。

復雜問題,類似於此推土機常見問題解答

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM