我正在Grails中创建一个版本控制域类:

class VersionControl {

    Date dateCreated
    Long versionNumber

    Long getLatestVersionNumber() {
        //return largest versionNumber
    }

}

我想添加一个查询以获取存储的最大版本号:
Long getLatestVersionNumber()

在SQL中,此查询大致如下所示:
SELECT TOP 1 MAX(versionNumber) FROM VersionControl

函数必须返回一个long值。

在Grails中执行此操作的正确方法是什么?

最佳答案

您可以使用GORM criteria,通过投影查询:

VersionControl.createCriteria().get {
    projections {
        max "versionNumber"
    }
} as Long

07-26 09:41