我想在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")
            }
        }
    }

它抛出:



我想念什么吗?谢谢!!

最佳答案

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

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

10-06 13:08