grails2.1.1で追加されたfirst()、last()
grails2.1.1からドメインのメソッドにfirstとlastが追加されています。
http://grails.org/doc/latest/ref/Domain%20Classes/first.html
http://grails.org/doc/latest/ref/Domain%20Classes/last.html
使い方は
Book.first() Book.first('title') Book.first(sort: 'title') Book.last() Book.last('title') Book.last(sort: 'title')
内部的にはlist()を使っていて、firstの方は昇順でソートして取得数1、lastは降順でソートして取得数1、という感じです。sortの引数を省略するとidでソートされる模様。
... D first(Map queryParams) { queryParams.max = 1 queryParams.order = 'asc' if(!queryParams.containsKey('sort')) { def idPropertyName = persistentEntity.identity?.name if(idPropertyName) { queryParams.sort = idPropertyName } } def resultList = list(queryParams) resultList ? resultList[0] : null } ... D last(Map queryParams) { queryParams.max = 1 queryParams.order = 'desc' if(!queryParams.containsKey('sort')) { def idPropertyName = persistentEntity.identity?.name if(idPropertyName) { queryParams.sort = idPropertyName } } def resultList = list(queryParams) resultList ? resultList[0] : null } ...