hibernate - 在Gorm条件中:按属性过滤域内的集合

标签 hibernate grails gorm criteria

我grais 2.4.3我有

class DomainFather {
   Set domainSon = []
}


class DomainSon {
   Date dataCreated
}

而我正在尝试一个符合条件的标准:
def c = DomainFather.createCriteria()
def data = c.list {
    createAlias("domainSon", "ds")
    projections {
       max("ds.dataCreated", "ds")
    }
}

显然不起作用,但是我不知道该怎么做。
任何帮助表示赞赏。

最佳答案

问题是您没有在域类之间建立关联。试试这个:

class DomainFather {

    static hasMany = [sons: DomainSon]

}

然后,您将可以使用查询:
def c = DomainFather.createCriteria()
def data = c.list {
    projections {
       sons {
           max("dataCreated")
       }
    }
}

关于hibernate - 在Gorm条件中:按属性过滤域内的集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33759267/

相关文章:

grails - 从 2 个(或更多) Controller 中排除 Grails 过滤器

debugging - Grails 3 设置远程调试ip :port

grails - Grails-两个相同类型的属性,一个不持久化到数据库,没有错误

java - 没有 JDBC 类型 : -101 的方言映射

java - Spring JPA插入连接表实体时不允许NULL

grails - 如何在负载均衡器后面强制 Spring Security 发出 https 重定向请求

grails - 没有登录项目URL应该无法在常规中使用

eclipse - Gradle和Eclipse的Hibernate映射文件路径

java - Spring MVC, hibernate : Contents not deleted from database but method fired

grails - 如何在grails中编写createCriteria,将其仅从表中拉出几列而不是所有列?