获取域类字段名称

时间:2013-02-27 02:32:31

标签: grails groovy

我想获取类的字段名称,并可能将其存储在列表中。有人可以帮忙吗?感谢。

4 个答案:

答案 0 :(得分:6)

您可以尝试使用此方法获取域类的字段名称。

YourClass.declaredFields.each {
  if (!it.synthetic) {
    println it.name
  }
}

答案 1 :(得分:3)

你可以对任何域对象使用gormPersistentEntity,这至少适用于Grails 2.4.4:

The event starts at [object Object]
5:55 PM

您也可以使用GrailsNameUtils获取自然名称,如下所示:

def names = Person.gormPersistentEntity.persistentPropertyNames
//returns ['firstName', 'lastName'...]

答案 2 :(得分:2)

刚刚发现,这个有效:

def names = grailsApplication.getDomainClass('com.foo.Person').persistentProperties.collect { it.name }

答案 3 :(得分:0)

您可以迭代这样的类的字段。

YourClass.fields.each { println it.name }

如果您需要将它们放入列表中,您可以使用collect()或在每个列表中填充它。

http://groovy.codehaus.org/JN3535-Reflection