概述
本文主要描述在ADF开发中如何利用简单的方式实现多表插入。
场景:
在应用开发过程中,经常会遇到往一张或者两张表中插入/更新数据时,需要同时往另外的表中插入/更新数据,一般在遇到这样的情况时,需要基于所有需要实现插入/更新的表的EO创建VO,不过,如果是在VO已经创建完成,且待插入/更新的表的字段较少并与已存在VO关联的EO中的数据关系密切时,可以采用更简便的方式实现。
实现
1、创建名为Student的表,包含以下字段:S_ID,S_NAME,S_SEX,DELETEFLAG。
2、创建应用,基于Employees和Student表创建EO/VO并添加VO的实例到AM中。
3、分别生成Employees和Student两个EO的实现类。
4、在EmployeesImpl(Employees EO的实现类)中改写doDML()方法为如下代码:
protected void doDML(int operation, TransactionEvent e) { if (operation == DML_INSERT) { EntityDefImpl student = StudentImpl.getDefinitionObject(); StudentImpl newStudent = (StudentImpl)student.createInstance2(this.getDBTransaction(), null); newStudent.setSId(this.getEmployeeId()); newStudent.setSName(this.getFirstName() + " " + this.getLastName()); } super.doDML(operation, e); } |
5、保存应用,运行业务组件浏览器进行测试。
最终运行结果:
相关代码请查看:
0 评论:
发表评论