以下是我的grails域对象的精简版本:
//this is a lookup table
class PetType {
String description
}
class Family {
static hasMany = [
petTypePreferred:PetType
]
}
在我的控制器中,我从gsp返回参数字符串值'petTypePreferred'。知道字符串值,并了解Domain类Family,如何从'petTypePreferred'字符串值中确定Domain类?在grails 2.2.4中,getPropertyByName(String value)方法在域对象上看不到有效,即使它位于javadoc中。
所以我有String petTypePreferred和Class Family,但我需要找到这两条信息的Class PetType。
答案 0 :(得分:1)
我不确定你到底想要什么:
获取域名类:
hasMany
是Map
中的一个简单静态Family
。 Map
将字段名称存储为键,将目标类型存储为值。因此,您可以使用以下命令从字符PetType
获取域petTypePreferred
Familiy.hasMany['petTypePreferred']
获取给定description
个实例的PetType
内的Family
值:
一个家庭可以有多种宠物类型(hasMany
),因此结果必须是一个集合:
Family family = ...
List descriptions = family['petTypePreferred']*.description
这为您提供了名为PetType
的{{1}}个实例的Family
个描述列表。