我有一个用于查询数据库的自定义过滤器。
API层构建过滤器,将其发送到dao层,dao执行过滤器(filter.toCreteia())并返回结果列表。
public interface IFilter {
Creteria toCriteria();
} 我想让DAO在每个方法中始终作为filter + securityFilter。
List getAll(IFilter filter, IFilter security); //each filter will be a creteria in the end我最终得到了两个规则:常规筛选器和安全筛选器。
如何渲染返回一个结果列表的2个creteias?
或者,您是否认为我应该只使用一个筛选器,并在API层中添加安全内容?
发布于 2011-02-18 03:07:00
除非您想使用拦截器方法(例如,使用SecurityInterceptor/proxy类来透明地修改条件),否则我认为使用两个单独的过滤器会更好。
请注意,我不认为可以将两个DetachedCriteria对象连接在一起。虽然你可以有一个基于两个IFilter对象的例程,返回一个基于Restrictions.and(criterion1, criterion2)的DetachedCriteria。
https://stackoverflow.com/questions/5033234
复制相似问题