2014-03-05 94 views
0

我使用此域名类别:Grails的JAXB元素列表为空

@XmlRootElement(name="Target") 
@XmlAccessorType(XmlAccessType.NONE) 
class TargetElement { 

    static constraints = { 
     testPurpose() 
    } 

    @XmlAttribute(name="TestPurpose") 
    String testPurpose 

    // instead of bellow in comment use this 
    @XmlElementWrapper(name = "Bag") 
    @XmlElement(name="Child") 
    List<Child> bag= new ArrayList<Child>() 
    // 1..n Child 
    static hasMany = [child:Child] 
} 

如果我想补充儿童ELEM,我用

​​

,但我得到了list == null袋。

为什么我的列表为空?它正在为另一个项目工作,只有名称正在改变。可能是我的眼睛失去了一些东西......

回答

0

对于谁得到了同样的烦恼的人:具有@XmlElementWrapper值(袋)为空在我的Bootstrap.groovy.I 已经宣布:

ArrayList<Child> bag = new ArrayList<Child>() 
bag.add(child1) 
bag.add(child2) 
targetElement.getBag().addAll(bag) 

我也遇到了GROM延迟加载和JAXB的另一个问题。检查嵌套对象retreived: 如:

static mapping = { 
    nested lazy: false 
} 

希望这将有助于