2012-08-01 2 views
0

내 개체 구조가 XML 구조와 크게 다르지 않습니다. 하나의 요소로 변경하고 싶습니다. 나는이JAXB는 객체 구조에 따라 XML을 언 마샬링 할 수 있습니까?

<Parent> 
    <Child1></Child1> 
    <Child2></Child2> 
    <Child3></Child3> 
    <Child3></Child3> 
    <Child3></Child3> 
</Parent> 

및 그와 동등한 JAXB 클래스와 같은 XML 구조를 가지고하면이

@XmlRootElement(name="Parent") 
    @XmlAccessorType(XmlAccessType.FIELD) 
    @XmlType(name = "Parent_Type") 
    public class Parent { 
     protected List<Child1Type> child1; 
     protected List<Child2Type> child2; 
     protected List<Child3Type> child3; 
    } 

처럼 보이는 그러나 데이터베이스 모델의 요구 사항에 따라 나는 자식 1에서 Child3 목록을합니다. 이것은 Hibernate를 사용하여 XML을 저장하는 데 도움이 될 것입니다.

public class Child1 { 
    protected List<Child3Type> child3; 
} 

어떻게 JAXB를 구성 할 수 있습니까? 또는 수동으로 수행하려면 afterUnmarshal을 사용해야합니까?

+0

당신은'@ XmlIDREF'에 관심이있을 수 있습니다 : http://blog.bdoughan.com/2010/10/jaxb-and-shared-references-xmlid-and.html –

+0

@BlaiseDoughan 예상 개체를 업데이트했습니다 모델. 여기 Child1에는 Child3 목록이 필요합니다. 복사 - 붙여 넣기 실수에 대해 죄송합니다. –

답변

0

나는 내 요구 사항 불가능하다고 생각합니다. 나는 afterUnmarshal() 메소드에서 변환 논리를 작성하여 정규 unmarshal을 변환하여 필요에 따라 변환합니다.

관련 문제