このプラグインの使い方を学んでいます。grails.org の手順に従って、単一のドメイン クラスにフィルターを適用することに成功しました。しかし、休止状態フィルターのサポート条件が 2 つのテーブルにまたがるかどうかを知りたいです。私のケースの詳細情報を以下にリストします。アドバイスをいただけますか?
背景: 1.以下の db スキーマがあります (これら 2 つのテーブル間の関係は 1 つの製品であり、1 対多の関係である複数の ProductItem を持つことができます)。
Table : Product
column
------------------------------
id | auto_increment
name |
create_uid | the user id create this product
別のテーブル: ProductItem
桁
id | auto_increment
name |
product_id |the value specify which product it belongs to
私は何をしたいですか?
1人のユーザーがデータにアクセスしたときに、自分が作成した商品Itemsを一覧表示したい。ただし、「作成者情報」を持つのは product テーブルだけです。私が望む結果は、以下のSQLステートメントを実行することと同じです:
"
select product_item.id from product_item ,product where
product_item.product_id=product.id and product.create_uid=xxx
"
システムがすでに実装されているため。コードを変更せずに休止状態フィルターを使用したいと思います。
私が知っていること?
ドキュメントから、休止状態フィルターの定義が別の関係を指定するための「コレクション」をサポートしていることに気付きました。しかし、私の懸念は、条件を指定する場所が見つからないことです ("orderItem.order_id = order.id ")
class ProductItem{
Product product
static hibernateFilters = {
secureFilter(condition:'create_uid=5', collection:"product", default:true) // This doen't work
}
}