kuc*_*ram 4 grails grails-domain-class
我想知道grails createCriteria是否支持多个属性组,如纯sql.我想列出这样的条目:
def criteria = DomainClass.createCriteria()
def results = criteria.list {
groupProperty('parameterA')
groupProperty('parameterB')
}
Run Code Online (Sandbox Code Playgroud)
这将仅列出具有唯一parameterA和parameterB组合的条目.问题是,这不起作用,是否有任何解决方案或我应该使用hsql或simmilar?
谢谢,马特奥
尝试投射,例如:
def criteria = DomainClass.createCriteria()
def results = criteria.list {
projections{
groupProperty('parameterA')
groupProperty('parameterB')
}
}
Run Code Online (Sandbox Code Playgroud)
我写了一些测试
void test2xGroupProperty(){
def pablo = new Artist(name: 'Pablo').save()
def salvador = new Artist(name: 'Salvador').save()
new Portrait(artist: pablo, name: "Les Demoiselles d'Avignon 1", value: 10.00).save()
new Portrait(artist: pablo, name: "Les Demoiselles d'Avignon 2", value: 10.00).save()
new Portrait(artist: pablo, name: "Les Demoiselles d'Avignon 3", value: 10.00).save()
new Portrait(artist: salvador, name: "The Persistence of Memory 1", value: 20.00).save()
new Portrait(artist: salvador, name: "The Persistence of Memory 2", value: 20.00).save()
new Portrait(artist: salvador, name: "The Persistence of Memory 3", value: 20.00).save()
def artistValue = Portrait.withCriteria{
projections{
groupProperty('value')
groupProperty('artist')
}
}
assert [[10.00, pablo], [20.00, salvador]] == artistValue
}
Run Code Online (Sandbox Code Playgroud)
在这里查看更多样本:https: //github.com/fabiooshiro/plastic-criteria/blob/master/src/groovy/plastic/criteria/CriteriaDocTests.groovy