在grails中,关于createAlias()的文档很少(据我所知)。
PurchasedSessionHistory.withCriteria {
createAlias("customer", "_customer", JoinType.LEFT_OUTER_JOIN)
createAlias("_customer.user", "_user", JoinType.LEFT_OUTER_JOIN)
createAlias("membership", "_membership", JoinType.LEFT_OUTER_JOIN)
createAlias("promotion", "_promotion", JoinType.LEFT_OUTER_JOIN)
// .....
}
在以上代码中(来自现有代码库),为什么我们需要在“客户”属性(嵌套在Customer
中的PurchasedSessionHistory
类的“ customer”属性上定义别名。
为什么我不能直接在“客户”上访问“用户”属性,而必须定义别名?
在这种情况下,一般来说createAlias有什么用?