Hibernate过滤器不能与父域一起使用

时间:2015-10-28 08:39:01

标签: hibernate grails gorm grails-domain-class hibernate-filters

我在父子结构中有两个域。

首先是: -

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过滤器。

1 个答案:

答案 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')
    }
相关问题