我正在学习使用这个插件。按照 grails.org 中的步骤,我成功地在单个域类中应用了过滤器。但我想知道休眠过滤器支持条件是否跨越两个表。我在下面列出了我的案例的详细信息。你能给点建议吗?
背景: 1.我有以下数据库模式(这两个表之间的关系是一个产品可以有几个产品项目,这是一对多的关系。)
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
我想要什么?
当一个用户访问数据时,我想列出他自己创建的产品项目。但只有产品表有“创建它的用户信息”。我想要的结果与执行下面的 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
}
}