用Gorm查询列的子集

时间:2010-07-09 02:51:17

标签: hibernate grails gorm hibernate-criteria

假设我有以下Domain类:

class Book {
  String title
  String author
  byte[] largeCoverArtImage
}

我有一个列表视图,我不需要显示largeCoverArtImage,如何使用GORM Criteria执行以下SQL查询?

select title, author from Book

2 个答案:

答案 0 :(得分:7)

您可以运行使用executeQuery选择单个列的HQL查询:

def titlesAndAuthors = Book.executeQuery('select title, author from Book')

这将返回一个List of Object [],例如

for (row in titlesAndAuthors) {
   String title = row[0]
   String author = row[1]
   ...
}

答案 1 :(得分:7)

在Grails中(使用1.3.7版测试),您可以写:

def titlesAndAuthors = Book.withCriteria {
        projections {
            property 'title', 'title'
            property 'author', 'author'
        }
}

你会得到一个Object []列表,如上例所示。