如何使用JAXB注释Grails域类中的关联?

时间:2015-02-09 03:28:44

标签: xml grails groovy jaxb

我在我的Grails Web应用程序中嵌入了Apache CXF,因此我可以通过SOAP公开服务。我对框架还不是很熟悉,但我认为它能够使用任何POJO / POGO作为结果和/或参数,它们必须用JAXB注释。我已经创建了一个演示服务,向我确认了这一点。我还从StackOverflow问题中获得了一些关于获取Groovy and JAXB to play nice的信息。现在,我的问题特别是关于在Grails域类中注释关联。我该怎么做?

在不可能的情况下,我正在考虑为我的SOAP服务所需的每个域类创建一些相应的DTO。它可能不是最好的做法,但它看起来并不那么糟糕......是吗?

1 个答案:

答案 0 :(得分:1)

我了解到可以在Grails的域类中声明对任何关联的任何引用。例如:

class Book {

    static hasMany = [categories: Category]

    List categories

}

这允许我像往常一样用JAXB注释注释声明的字段。

@XmlRootElement
@XmlAccessorType(XmlAccessType.NONE)
class Book {

    static hasMany = [categories: Category]

    @XmlElementWrapper
    @XmlElement(name='category')
    List categories

}