如何从字符串中获取grails类名

如何从字符串中获取grails类名,grails,Grails,下面是我的grails域对象的精简版本: //this is a lookup table class PetType { String description } class Family { static hasMany = [ petTypePreferred:PetType ] } 在我的控制器中,我从gsp返回一个参数字符串值'petTypePreferred'。知道该字符串值,并且知道域类系列,如何从“petTypePreferred”字符串值确定域类

下面是我的grails域对象的精简版本:

//this is a lookup table
class PetType {
  String description
}

class Family {
   static hasMany = [
      petTypePreferred:PetType
   ]
}
在我的控制器中,我从gsp返回一个参数字符串值'petTypePreferred'。知道该字符串值,并且知道域类系列,如何从“petTypePreferred”字符串值确定域类?在Grails2.2.4中,getPropertyByName(字符串值)方法在域对象上不有效,即使它在javadoc中


因此,我有字符串petTypePreferred和类系列,但我需要找到给定这两条信息的类PetType。

我不确定您到底想要什么:

获取域名类名称

hasMany
Family
中的一个简单静态
Map
Map
将字段名存储为键,将目标类型存储为值。因此,您可以使用以下方法从字符串
petTypePreferred
获取域类
PetType

Familiy.hasMany['petTypePreferred']
获取给定
系列
实例的
description
内部
PetType
的值:

一个家庭可以有多种宠物类型(
有多种宠物类型),因此结果必须是一个集合:

Family family = ...
List descriptions = family['petTypePreferred']*.description

这将为名为
Family

Family
实例提供
PetType
描述列表。Family.有许多['petTypePreferred']工作得很好。那有很多电话到底是干什么的?我在关系字段的域声明中看到了它,但不是这样使用的。
hasMany
在域类中用于定义gorm关联,有关更多详细信息,请参见此: