我在父子结构中有两个域。
首先是: -
class Client {
String xyz
static belongsTo = [site: Site]
static hibernateFilters = {
siteFilter(condition: ':siteId = site_id', types: 'long')
}
}
第二个是。
class TicketDetail {
Date date
Client client
}
如果我直接访问客户端域名,如。
Client.searchByAlphabet(PARAMS).LIST(PARAMS)
Hibernate过滤器工作正常。但是当我在TicketDetail上使用标准时,如。
client {
site {
eq('id', currentSiteId)
}
}
projections {
distinct 'client'
}
然后客户端域上的Hibernate过滤器无法正常工作。从父域访问子域时,如何激活hibernate过滤器。
答案 0 :(得分:0)
使用createAlias ... E.G。
class Customer {
String name
Account account
BigDecimal minAccountBalance
...
}
class Account {
BigDecimal currentBalance
...
}
Customer.createCriteria().list(){
createAlias('account', 'acc')
gtProperty('acc.currentBalance', 'minAccountBalance')
}