在程序运行时动态给VO添加检索基准,是通过VO过滤数据的一种方法。当然,也可以动态创建where子句。
1)动态创建检索基准
- ViewCriteriavc=this.createViewCriteria();
- ViewCriteriaRowvcr=vc.createViewCriteriaRow();
- ViewCriteriaRowvcr1=vc.createViewCriteriaRow();
- vcr.setAttribute("FilterColumn","='shawn'");
- vcr.setConjunction(vcr.VC_CONJ_OR);
- vc.add(vcr);
- vcr1.setAttribute("FilterColumn","='jason'");
- vcr1.setConjunction(vcr1.VC_CONJ_OR);
- vc.add(vcr1);
2)给VO添加检索基准,vc是刚刚创建好的ViewCriteria。
- this.applyViewCriteria(vc);
3)清空应用到VO上的检索基准
- this.applyViewCriteria(null);
4)动态代码可以放在executeQueryForCollection或者executeQuery中,这样在执行查询的时候可以自动进行数据的过滤。