Grails无法在namedQuery中解析createAlias

时间:2013-09-19 06:30:58

标签: hibernate grails

我想在namedQuery中有一些LEFT JOIN。在示例中,它应该找到所有 A 对象,其中objectB为null或objectB.name具有特定值。

但别名“objectBAlias”无法解决:

class A{

    B objectB

    static namedQueries = {

        someNamedQuery {
            createAlias("objectB", "objectBAlias", CriteriaSpecification.LEFT_JOIN)
            or{
               isNull("objectBAlias")
               eq("objectBAlias.name", "some text")
            }
        }
    }

它抛出:

  

无法解析属性:objectBAlias of:A

我错过了什么吗?谢谢!

1 个答案:

答案 0 :(得分:1)

我不知道确切的问题。但要解决您的问题,只需稍微更改您的代码:

someNamedQuery {
    createAlias("objectB", "objectBAlias", CriteriaSpecification.LEFT_JOIN)
    or{
       isNull("objectB")
       eq("objectBAlias.name", "some text")
    }
}