grails - 提取: 'join'被忽略

标签 grails gorm

设置:

3个域类A,B和C。A和B在插件中。 C在依赖于此插件的应用程序中。

class A{
    B b
    static mapping = {
        b fetch: 'join'
    }
    ...
}

class C extends A{
    String name
    ...
}

C.list().each{
    println it.b.name
}

问题:

如文档(http://www.grails.org/doc/1.3.x/ref/Database%20Mapping/fetch.html)中所述,提取:“join”应强制休眠状态为每行println行仅使用一个查询。不幸的是,有两个没有联接的选择查询。

我的调查

我创建了一个新的Grails项目,它按照文档中的描述进行工作,但是A类不在外部插件中。

问题

是否知道在上面的示例中为什么提取:“join”?

最佳答案

从2.x开始,使用条件时将忽略获取/渴望连接。

查看此错误报告:https://jira.grails.org/browse/GRAILS-9829

这是一个相当大的问题,但这是由于Hibernate3所致,因此在Grails中不容易解决。

您需要使用HQL才能获取/渴望加入。

关于grails - 提取: 'join'被忽略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12247799/

相关文章:

grails - Grails 中所有 4xx 或 5xx 错误的通用 URLMapping

javascript - 将域类ID返回到由单选按钮选择的 Controller

hibernate - 对于具有复合键的Domain类,获取 'MissingPropertyException: No such property'错误

grails - 如何在Java中执行HQL查询

grails - 在 grails 中建模多对一树

grails - grails 中的编码和解码如何使用grails 中的decodeHTML 和encodeAsHTML 进行?

apache - 我想为我的 grails 应用程序使用 mod_jk 集成 tomcat 和 apache

grails - Grails:MySQL和mongoDB一起

grails - 外键引用同一表中的主键grails域类

grails - hasMany vs在grails中有一个对象的集合