0
"ChildData"요소가 스키마의 "BaseData"요소에 속하지 않지만 "BaseData"요소에 "ChildField"요소가 포함될 수 있도록 xsi : type 특성을 사용하는 xml이 있습니다.xsi : type을 dozer와 함께 사용하는 xml을 매핑하는 방법은 무엇입니까?
<BaseData xsi:type="Child">
<ChildField>value</ChildField>
</BaseData>
생성 된 자바 코드는 다음과 같습니다
아이 :
@XmlSeeAlso({
Child.class,
})
public class BaseData {}
자료 :
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Child", propOrder = {
"childField"
})
public class Child extends BaseData
{
@XmlElement(name = "ChildField")
protected String childField;
}
이제 마지막으로, 나는 나의 구조에이 구조 맵을 원하지만, 나는 도저 매핑 XML 파일에 넣고 때, 그것은 실패
<field>
<a>baseData</a>
<b>myData</b>
<a-hint>BaseData,Child</a-hint>
<b-hint>MyClass</b-hint>
</field>
<field>
<a>baseData.childField</a>
<b>myData.myField</b>
</field>
내가 얻을 예외는 다음과 같습니다
org.dozer.MappingException: No read or write method found for field (baseData.childField) in class (class BaseData)
I을 CUS를 생성하여 I이 문제를 해결
mapper.map
방법