ADF: 区分VO定义和VO实例

在ADF BC中,可以Declarative的方式定义业务需要的VO,这时VO的定义就是一个XML文件。

一个Java类可以有多个实例对象,VO也是,一个VO定义可以关联多个VO实例,并且每个VO实例在取数据的时候是不相关的。

当然,也可以使用Java代码动态创建VO(VO定义,VO实例)。

VO定义例子:

<ViewObject
  xmlns="http://xmlns.oracle.com/bc4j"
  Name="EmployeesVO"
  Version="11.1.1.56.60"
  SelectList="EmployeesEO.EMPLOYEE_ID, 
       EmployeesEO.FIRST_NAME, 
       EmployeesEO.LAST_NAME, 

而VO实例是在AM中生成的,类似Java的实例对象:

<AppModule
  xmlns="http://xmlns.oracle.com/bc4j"
  Name="AppModule"
  Version="11.1.1.56.60"
  ClearCacheOnRollback="true"
  ComponentClass="model.AppModuleImpl">
  <DesignTime>
    <Attr Name="_deployType" Value="0"/>
    <Attr Name="_isCodegen" Value="true"/>
  </DesignTime>
  <ViewUsage
    Name="EmployeesVO1"
    ViewObjectName="model.EmployeesVO">
    <ViewCriteriaUsage
      Name="EmployeesVOCriteria"
      FullName="model.EmployeesVO.EmployeesVOCriteria"/>
  </ViewUsage>

下面对EmployeeVO export了EmployeesVO1和FixDeptEmps两个实例,分别使用了不同的View Criteria:

EmployeesVO1的View Criteria:

FixDeptEmp的View Criteria:



运行,查看不同状态:

EmployeesVO1中只有一条数据:

FixDeptEmp中查询出所有在Department 100中的员工:

 

总结:在ViewController层,可以使用不同的VO实例,引用同一个VO定义,进行数据的Insert、Query等操作,而创建不同的VO定义不是必须的。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值