标签:des style class blog code java
2014-06-14 BaoXinjian
一、摘要
何谓Entity Object User’s Guide中有比较形象的描述:
针对表、视图、快照封装商业规则、可用于多种客户端(不仅限于OA Framework),并包含所有的针对这些数据库对象的验证及行为。
EO在Module中的地位:
从图上可看出,EO处于DB上层,VO下层。这就决定了,EO可调用DB层的CLASS,而只有VO可调用EO层的CLASS。
下面是关于EO的一些描述:
EO又为两种类型(主要从编程控制方法来分)
二、EO的建立过程
JDEV 提供了Wizard 来建立EO. 你可以按照向导一步一步完成一个EO的建立:
Step 1: 定义EO名称,路径及对应的数据库对象
Name: xxxxEO (应按照Object name standard 来命名).
Package: <yours company>.oracle.apps.<appl short name>.<component>.schema.server
Extends Entity: 留空(除非你要继承一个已有的EO).
Schema Object: 根据应用选择表,视图,同义词或快照.
Database Schema: 选择应用.
Step 2: 选择EO包含的字段
1. 显示了表中所有的字段,在OAF中称为Attribute.
2. 建议不要Remove任何字段,除非基表已发生变化.
3. 如基表增加了字段,点击New from table… 在EO中新增Attribute.
4. 如要增加非表中字段(比如计算字段),可点击New…
5. 建议表中最好包括WHO字段,否则后面在编译时会报错...
Step 3: 定义字段的属性
Step 4: 生成JAVA文件及方法
除了Data Manipulation Methods不选外,其它都选(具体原因有待研究)。
勾选后,OAF会自动生成此EO对应的CLASS文件,并内置好相应的方法(标准方法,你可以按照需要进行扩展)。
Step 5: 定义EO的Turning 属性
勾选 Use Update Batching, 并设定Threshold(上限) 为100
这个选项有什么作用呢?User’s Guide中有描述(但我不太明白)
1.此选项非常重要如果你的EO是针对多语言表的时候(即表名后有_TL后缀的)
2.有些情况下,这个选项是不能勾的:
a. 如果你的EO 是PL/SQL EO
b. EO中有BLOB或CLOB字段
c. 没有PK或只有ROWID PK
d. 当你勾选了 Refresh After中的任一项
User’s Guide对此选项的说明是此选项可使OAF在一个提交动作中包含多个DML 处理,比如可一次更新多个Row
至此,一个EO就建好了,你就可以通过VO来调用它,在Page上对数据库表进行操作了。
三、Java Type
Entity Object:
针对表/视图/同义词/快照, 封装商业逻辑和DML 处理.
JAVA Entity Object:
不修改OAF中标准的DML 处理功能,使用标准的JAVA 语句完成对数据的处理。
主要的Object Module 和Class:
Oracle.apps.fnd.framework.server.OAEntityCache
存放查询数据的缓存, 多个基于此EO的VO共享同一个Cache.
<Your EO name>EOImpl
继承于oracle.apps.fnd.framework.server.OAEntityImpl. 此对象表示EO本身,当被实例化后,表示数据中的一行
Oracle.apps.fnd.framework.server.OAEntityDefImpl
描述组成EO的无素,例如Attributes, Events, Validators, Associations, Properties.
<Your EO name>Expert
继承于oracle.apps.fnd.framework.server.OAEntityExpert.
oracle.jbo.Key
代表Primary Key and Foreign Key and composite row identifier.
四、EO的建立过程向导
案例:建立一个Invoices Header对应的EO
Step 1: 定义EO名称,路径及对应的数据库对象
Step 2: 选择EO包含的字段
Step 3: 定义字段的属性
Step 4: 生成JAVA文件及方法
Step 5: 定义EO的Turning 属性
参考:Tony Liu 深入EO系列和Developer Guide
Thanks and Regards
OAF_OAF EO系列 - Definition定义(概念),布布扣,bubuko.com
OAF_OAF EO系列 - Definition定义(概念)
标签:des style class blog code java
原文地址:http://www.cnblogs.com/eastsea/p/3788625.html