将域对象传递给服务以创建数据 - 现在发现类错误?

时间:2014-07-08 11:31:11

标签: class grails service compiler-construction

我目前有一个Grails应用程序,只要我想将新数据添加到数据库,我就会调用该服务。下面的代码显示了服务代码:

def domainSave( domainData, domain ){

        new domain(domainData).save(flush: true)

    }

这就是我将其称之为:

MyService.domainSave(it, Users)

现在我要做的是拥有一个我可以调用的服务来创建域中的新数据。但是grails应用程序不会编译为我有“新域”的地方,它无法在编译时解析该类,因为合格的类还没有。

我有什么想法可以做到这一点吗?

提前致谢

1 个答案:

答案 0 :(得分:2)

这当然不起作用

您需要使用反射:

def domainSave( domainData, Class clazz ){
    def domain = clazz.newInstance()
    domain.properties = domainData
    domain.save flush:true
}