当前位置 : 主页 > 网络推广 > seo >

grails – 检索域的GORM持久属性列表

来源:互联网 收集:自由互联 发布时间:2021-06-16
什么是最好的/最简单的方法来获取与给定的GORM域对象相关联的持久性属性的列表?我可以获得所有属性的列表,但此列表包含非持久字段,如类和约束。 目前我使用这个,并使用我创
什么是最好的/最简单的方法来获取与给定的GORM域对象相关联的持久性属性的列表?我可以获得所有属性的列表,但此列表包含非持久字段,如类和约束。

目前我使用这个,并使用我创建的列表过滤出nonPersistent属性的列表:

def nonPersistent = ["log", "class", "constraints", "properties", "errors", "mapping", "metaClass"]
    def newMap = [:]
    domainObject.getProperties().each { property ->
        if (!nonPersistent.contains(property.key)) {
            newMap.put property.key, property.value
        }
    }

似乎有必要有一个更好的方法来获得持久性属性。

尝试这个:

import org.codehaus.groovy.grails.commons.DefaultGrailsDomainClass
...
def d = new DefaultGrailsDomainClass(YourDomain.class)
d.persistentProperties

这里有一个指向Grails API for GrailsDomainClass的链接(它是一个链接到一个旧版本;我经过一些快速搜索后找不到一个新的)。它有一个getPersistentProperties()(在上面的代码片段中使用)。您可以遍历API文档,查看其他可能对您有用的方法。

如果你想要一个例子,做一个grails install-templates,然后看看src / templates / scaffolding / create.gsp。有一个块,在那里它迭代持久性域属性。

网友评论