假设我有两个简单的域类:
class A {
String name
static hasMany = [bs: B]
}
class B {
String title
}
现在,我想生成一个结构如下的项目列表:
// id of A instance, name of A instance, comma separated list of Bs titles associated to A istance
1, "A1", "B1, B2"
2, "A2", "B2, B5"
...
这是我的标准:
def list = A.withCriteria {
createAlias 'bs', 'bs', CriteriaSpecification.LEFT_JOIN
projections {
property 'id'
property 'name'
property 'bs.title' // this is the interesting line
}
}
这显然只检索与我的 A 实例相关的 B 元素的第一个标题。像这样:
1, "A1", "B1"
2, "A2", "B2"
...
现在,现实生活中的场景有点复杂,我已经简化了重点,那就是:我怎样才能得到 mysql group_concat 对 bs 标题的相同效果?
我试图在一个单一的标准中做到这一点,但如果不可能,我很乐意讨论不同的解决方案。