我目前有一个Grails应用程序,只要我想将新数据添加到数据库,我就会调用该服务。下面的代码显示了服务代码:
def domainSave( domainData, domain ){
new domain(domainData).save(flush: true)
}
这就是我将其称之为:
MyService.domainSave(it, Users)
现在我要做的是拥有一个我可以调用的服务来创建域中的新数据。但是grails应用程序不会编译为我有“新域”的地方,它无法在编译时解析该类,因为合格的类还没有。
我有什么想法可以做到这一点吗?
提前致谢
答案 0 :(得分:2)
这当然不起作用
您需要使用反射:
def domainSave( domainData, Class clazz ){
def domain = clazz.newInstance()
domain.properties = domainData
domain.save flush:true
}