从Grails / GORM投影返回完整的域对象

时间:2011-04-04 15:23:28

标签: hibernate grails gorm

我想获得一个列表,其中包含每个给定作者列表中最新出版的书籍。我试过这个:

List books = Book.withCriteria {
  inList('author', authors)
  projections {
    groupProperty('author')
    max('releaseDate')
  }
}

这似乎有效,但遗憾的是,它不是书籍列表,而是返回列表列表,每个内部列表都像[author,releaseDate]。

如何让它返回相关书籍清单?

1 个答案:

答案 0 :(得分:2)

我会使用HQL并使用子查询,例如:

Book.executeQuery("""
     from Book as book 
     where book.id in (
         select id from Book b group by b.author order by b.releaseDate desc
     )
""")