[英]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.