3

私のドメインは、次のような休止状態フィルターを使用しています。

class UserMapping {
    // Senseless App Logic here
    static hibernateFilters = {
        typeFilter(condition: "type = 'IDENTIFIED'", default: true)
        flagFilter(condition: "flags = 'ACTIVE'", default: true)
    }
}

コントローラーで使用すると問題なく適用されるように見えますが、サービスまたはジョブで同じ findBy.. を実行すると、適用されません。助言がありますか?

違いがあれば、mixin で findBy を呼び出します。

この質問は関連しているようですが、私が探しているものとはまったく異なります: grails hibernate フィルターを有効にする

4

2 に答える 2

2

フィルターが自動的に有効になるのは、Web 要求の間だけです。これは、HibernateFilterFilters各 Web 要求の前にプラグインがすべての有効なフィルターを適用するためです。しかし、グローバルな自動フィルター ロジックはありません。これは実用的ではありません。

代わりに、プラグインのドキュメントに記載されているいずれかの方法を使用してください。

UserMapping.withHibernateFilters {
   ..code to execute
}
于 2013-01-16T11:43:41.693 に答える