0
我正在嘗試使用推土機映射將PO對象的哈希集映射到模型對象中。從HashSet到Arraylist的推土機映射
這是我的源和目的類: -
public class Source implements Serializable {
Set<NoteVariableDefinitionPOImpl> noteVariableDefinitionPO = new HashSet<NoteVariableDefinitionPOImpl>();
}
public class Destination implements Serializable {
List<NoteVariableDefinition> noteVariableDefinition = new ArrayList<NoteVariableDefinition)();
NoteVariableDefinitionPOImpl類:
class NoteVariableDefinitionPOImpl {
int x; // setter + getter
}
NoteVariableDefinition類:
class NoteVariableDefinition {
int y ;
// setter + getter
}
我的推土機映射配置爲:
<mapping wildcard="false" map-id="NC.Source.Destination" map-null="false">
<class-a>test.Source</class-a>
<class-b>test.Destination</class-b>
<field map-id="NC.NoteVariableDefinitionPOImpl.NoteVariableDefinition">
<a>noteVariableDefinitionPO</a>
<b>noteVariableDefinition</b>
<a-hint>java.util.HashSet</a-hint>
<b-hint>java.util.ArrayList</b-hint>
</field>
</mapping>
<mapping wildcard="false"
map-id="NC.NoteVariableDefinitionPO.NoteVariableDefinition" type="one-way" map-null="false">
<class-a>com.test.po.impl.NoteVariableDefinitionPOImpl</class-a>
<class-b>com.test.model.NoteVariableDefinition</class-b>
<field>
<a>x</a>
<b>y</b>
</field>
</mapping>
每當我跑這個映射,我總是得到以下錯誤:
MapId: NC.NoteVariableDefinitionPO.NoteVariableDefinition
Type: null
Source parent class: test.Source
Source field name: noteVariableDefinitionPO
Source field type: class java.util.HashSet
Source field value: [[email protected]]
Dest parent class: test.Destination
Dest field name: noteVariableDefinition
Dest field type: java.util.List
org.dozer.MappingException: Class mapping not found by map-id: SRC-CLASS- com.test.po.impl.NoteVariableDefinitionPOImpl DST-CLASS-java.util.ArrayList MAP-ID->NC.NoteVariableDefinitionPO.NoteVariableDefinition
如何映射一個HashSet在這種情況下ArrayList的?
我是新來的推土機映射,因此也無法定義自定義轉換器。
推土機文件說,它可以轉換一個集列出
推土機集合類型之間自動映射,並自動執行任何類型轉換。
下集合映射自動推土機處理:(這些都是>>所有雙向):
設置爲列表
感謝了很多。有用。 :) – user2332505