Grails找到域,然后保存它

Grails找到域,然后保存它,grails,grails-domain-class,Grails,Grails Domain Class,我要做的是找到一个域,然后创建一个新域或保存先前存在的域。以下是我目前正在使用的代码(在本项目中,skeleton是包名): 这似乎不起作用。有人能帮我解决这个问题吗?getDomainClass返回的对象是的一个实例。要获取实际的域类,您可以在其上调用get,首先在其上调用getClazz。例如: Class lob = grailsApplication.getDomainClass('skeleton.'+params.lob.name).clazz 此外,您必须在类对象上调用newIn

我要做的是找到一个域,然后创建一个新域或保存先前存在的域。以下是我目前正在使用的代码(在本项目中,skeleton是包名):


这似乎不起作用。有人能帮我解决这个问题吗?

getDomainClass返回的对象是的一个实例。要获取实际的域类,您可以在其上调用
get
,首先在其上调用
getClazz
。例如:

Class lob = grailsApplication.getDomainClass('skeleton.'+params.lob.name).clazz

此外,您必须在类对象上调用
newInstance
,而不是使用
new
关键字来创建新实例。

getDomainClass
返回的对象是的实例。要获取实际的域类,您可以在其上调用
get
,首先在其上调用
getClazz
。例如:

Class lob = grailsApplication.getDomainClass('skeleton.'+params.lob.name).clazz

此外,您必须在类对象上调用
newInstance
,而不是使用
new
关键字来创建新实例。

为什么需要调用
newInstance()
而不是使用
new
new
关键字需要一个类型名称,但在本例中它是一个
对象。为什么需要调用
newInstance()
而不是使用
new
new
关键字需要一个类型名称,但在本例中它是一个
对象。ataylor有以下代码失败的原因,但您还应该查看
findOrCreateBy
GORM方法,它可以让您的代码干涸不少。它要么返回一个现有对象,要么实例化一个新的、未保存的对象,您可以在其中填入值。ataylor有下面代码失败的原因,但您还应该查看
findOrCreateBy
GORM方法,它会让您的代码干涸不少。它要么返回一个现有对象,要么实例化一个新的未保存对象,您可以在其中填入值。