Grails 标准重复关联路径错误

vij*_*agi 5 grails criteria associations duplicates

我试图在一个标准中使用别名和正常关联名称,这给我“重复关联路径错误”我的类如下

class FlightReservation{
    Flight flight
    User usr
    String title
 }

class Flight {
    String flightNumber
    Category category

}

class Category {
    String name 
}
Run Code Online (Sandbox Code Playgroud)

条件查询

 FlightReservation.createCriteria().list(){
     createAlias("flight", "flt", CriteriaSpecification.LEFT_JOIN)

     flight{
       location{
        eq("name", "abc")
      }
    }


     order("flt.flightNumber", "asc")

}
Run Code Online (Sandbox Code Playgroud)

现在,当我想到它时,这似乎很明显,也许是 Hibernate 的限制,所以我想知道是否有替代方法来实现这一目标

我知道我可以使用 fetchMode 加载航班关联,但从查询中删除别名会使 order 子句变得困难(这将是动态的,嵌套闭包会使事情变得丑陋)

有人可能会说为什么我不能在这两个地方都使用“flt”(别名)?实际上,使用嵌套闭包而不是别名的其他标准来自代码的其他部分,我应该重用该代码。

让我知道,如果问题不够清楚,任何有关此错误的见解都会非常有帮助。