开发运行环境:JDevloper 11.1.2.4.0+ Oracle Database 11gR2 XE
本文最后一次修改日期:2013-07-01
如果你想在查询执行之前,设置查询条件,那么prepareRowSetForQuery方法是再合适不过的地方了。
@Override
public void prepareRowSetForQuery(ViewRowSetImpl vrs) {
vrs.ensureVariableManager().setVariableValue("bv_departmentId", departmentId);
super.prepareRowSetForQuery(vrs);
}
与executeQueryForCollection方法不同,prepareRowSetForQuery方法在方法getQueryHitCount()和getEstimatedRowCount()之前调用。
因此,如果你在executeQueryForCollection中设置变量,很可能getQueryHitCount()和getEstimatedRowCount()返回的数据与实际查询不符。
注意,方法prepareRowSetForQuery是在JDeveloper 11.1.1.5中增加的新特性。
参考文献:
1. http://www.jobinesh.com/2011/05/preparing-viewobjects-query-for.html
没有评论:
发表评论