如何在Grails域对象中获取声明的属性?

时间:2015-02-24 13:24:03

标签: grails groovy

我正在尝试将Grails域对象转换为Map。我有一个使用Apache Commons BeanUtils'PropertyUtils.describe为POGO做的代码。但是,在域对象上使用相同的代码不起作用,因为Grails框架添加了所有内容。我希望能够将任何对象转换为仅具有声明字段的Map,就像Grails将域对象转换为JSON一样。哪些功能可以帮助我实现这一目标?

1 个答案:

答案 0 :(得分:0)

我会在您的域类中建议这样的内容:

    public Map asMap() {
        this.class.declaredFields.findAll { !it.synthetic }.collectEntries {
          [ (it.name):this."$it.name" ]
        }
    }

关于同样的问题还有其他问题,你试试这个吗? Grails / Groovy - Domain Object - Map of its Properties