Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hibernate 作为映射检索域对象实例_Hibernate_Grails_Hql - Fatal编程技术网

Hibernate 作为映射检索域对象实例

Hibernate 作为映射检索域对象实例,hibernate,grails,hql,Hibernate,Grails,Hql,我想知道是否有一种方法可以将域实例检索为映射,其中键是域对象的id 更具体地说,我想使用myDomainObject.list()返回映射而不是列表。您可以在域类中轻松创建此方法,例如: class Person { String name static Map<Long, Person> mapAll() { def map = [:] list().each { map[it.id] = it } map }

我想知道是否有一种方法可以将域实例检索为映射,其中键是域对象的id


更具体地说,我想使用
myDomainObject.list()
返回映射而不是列表。

您可以在域类中轻松创建此方法,例如:

class Person {

   String name

   static Map<Long, Person> mapAll() {
      def map = [:]
      list().each { map[it.id] = it }
      map      
   }
}
班级人员{
字符串名
静态映射mapAll(){
def map=[:]
list().each{map[it.id]=it}
地图
}
}

如果这不是您唯一需要它的地方,您还可以使用Burts代码通过扩展eiter域类或映射本身


这将集中功能并保持域类的干净。

谢谢。我想可能存在一个内置函数。但这是一个很好的解决方案。