概述
本文主要描述如何在AM中使用代码动态为某VO的实例创建ViewCriteria并使用该ViewCriteria对该VO的实例进行查询以及该方法的查询结果的注意事项。
实现
1、基于HR Schema的Employees表创建Entity Object,View Object,并创建ApplicationModule,添加该刚创建成功的View Object的实例到AM的Data Model
2、为AM产生其实现类,添加如下代码到刚产生的AM的实现类
3、添加findEmployeeByEmailCriteria到Cilent Interface
4、运行AM,使用业务组件浏览器进行进行测试
5、选择刚发布到Client Interface的findEmployeeByEmailCriteria方法,输入相应参数进行测试,查看控制台打印输出的结果:
注:通过上面的结果可以看到,并未输出“rowIterator hasNext”字符串,但取到的rowIterator中Row的元素个数却为1,经过多次验证发现,使用该方法查询得到的viewIterator已经执行过一次viewIterator.next(),即若对该viewIterator调用.next()方法时,实际上是取的该 viewIterator的第二个Row对象。
本文转自Oracle Seeker:http://oracleseeker.com/2009/12/12/adf_am_viewcriteria_rowiterator/