getArtefact为“域”返回NULL

时间:2011-12-25 04:04:59

标签: grails grails-domain-class

我是Grails的新手,并试图按照“Beginning Groovy and Grails”中的示例进行操作

当我尝试这些例子时,我遇到了以下问题:

domainClass = grailsApplication.getArtefact("Domain", domainClassName)

domainClass返回NULL。但是当我使用下面的代码片段时,我得到了正确的类。

if (!domainClass) {
        def artefacts = grailsApplication.getArtefacts("Domain")
        domainClass = artefacts.find {item ->
            item.name == domainClassName
        }
    }

第一部分有什么问题?还有什么我需要照顾的。我下载了本书的示例代码,但我没有看到任何其他具体的更改。

先谢谢!!

2 个答案:

答案 0 :(得分:0)

使用域类的完整路径,即包的前缀。

答案 1 :(得分:0)

第一个代码片段也有效,domainClassName只需要是完全限定名,即packagename.domainclassname

def domainClassName  = 'org.abc.Sample'   
def domainClazz = grailsApplication.getArtefact('Domain', domainClassName)