Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/grails/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 在Gorm条件中:按属性筛选域内的集合_Hibernate_Grails_Gorm_Criteria - Fatal编程技术网

Hibernate 在Gorm条件中:按属性筛选域内的集合

Hibernate 在Gorm条件中:按属性筛选域内的集合,hibernate,grails,gorm,criteria,Hibernate,Grails,Gorm,Criteria,我有grais 2.4.3 class DomainFather { Set domainSon = [] } 及 我正在尝试一个gorm标准: def c = DomainFather.createCriteria() def data = c.list { createAlias("domainSon", "ds") projections { max("ds.dataCreated", "ds") } } 显然不行,但我不知道该怎么做。 非常

我有grais 2.4.3

class DomainFather {
   Set domainSon = []
}

我正在尝试一个gorm标准:

def c = DomainFather.createCriteria()
def data = c.list {
    createAlias("domainSon", "ds")
    projections {
       max("ds.dataCreated", "ds")
    }
}
显然不行,但我不知道该怎么做。
非常感谢您的帮助。

问题是您没有在域类之间建立关联。试试这个:

class DomainFather {

    static hasMany = [sons: DomainSon]

}
然后您将能够使用查询:

def c = DomainFather.createCriteria()
def data = c.list {
    projections {
       sons {
           max("dataCreated")
       }
    }
}

在真实的项目中,我知道了,但我不知道投影{sons{.Ah,好的。在Grails/GORM中,别名通常是不必要的。话虽如此,当您需要使用不同的连接类型(例如左外连接)时,需要别名。
def c = DomainFather.createCriteria()
def data = c.list {
    projections {
       sons {
           max("dataCreated")
       }
    }
}