Grails gorm 查询问题
Posted
技术标签:
【中文标题】Grails gorm 查询问题【英文标题】:Grails gorm query question 【发布时间】:2011-06-25 16:59:33 【问题描述】:拥有领域类:
class A
Date dateCreated
static hasMany = [b:B]
...
class B
String name
String value
...
我可以使用什么 createCriteria 或 HQL 查询来返回列表:
A 的创建日期 名称条目设置为“X”的 A 的 B 值注意:虽然没有明确的约束,但每个“X”和一个组合只有一个“值”。
谢谢
【问题讨论】:
【参考方案1】:HQL 是
def results = A.executeQuery(
'select a.id, a.dateCreated, b from A a inner join a.b b ' +
'where b.name=:name',
[name: 'X'])
这将为您提供包含 A.id
、A.dateCreated
和 B
实例列表的 3 元素 Object[]
数组的 List
。我将 id 添加到查询中,以便您可以在客户端对其进行分组:
def grouped = results.groupBy it[0]
这将是一个Map
,其中键是A
id,值是来自原始结果的List
s。
理想情况下,您会在数据库中进行分组,但这会使查询复杂化,并且假设您没有大量结果,它应该很快。
【讨论】:
以上是关于Grails gorm 查询问题的主要内容,如果未能解决你的问题,请参考以下文章