我想知道是否有办法将域实例检索为Map,其中key是域对象的id。
更具体我希望myDomainObject.list()
返回Map而不是List。
答案 0 :(得分:2)
您可以在域类中轻松创建此方法,例如:
class Person {
String name
static Map<Long, Person> mapAll() {
def map = [:]
list().each { map[it.id] = it }
map
}
}
答案 1 :(得分:0)
如果这不是您需要的唯一地方,您还可以使用Burts代码通过ExpandoMetaClass扩展eiter域类或地图本身。
这将集中功能并保持域类清洁。