ADF 创建主表子表的先后顺序
来源:互联网 发布:冰镇西瓜 知乎 编辑:程序博客网 时间:2024/05/01 13:45
第一个方法是VO的RowImpl里的,后面的3个方法是EO Impl里的
实现VO的接口,重写其中的create方法,能是creatarow的时候先创建主表,然后创建字表,达到外键关联。
@Override
protected void create(AttributeList attributeList) {super.create(attributeList);
TdSuppdocImpl tdSuppdocImpl = this.getTdSuppdoc();
MpCaseSuppdocImpl mpCaseSuppdocImpl = this.getMpCaseSuppdoc();
try {
tdSuppdocImpl.create(attributeList);
mpCaseSuppdocImpl.setTdSuppdoc(tdSuppdocImpl);
mpCaseSuppdocImpl.create(attributeList);
} catch (JboException ex) {
tdSuppdocImpl.revert();
mpCaseSuppdocImpl.revert();
throw ex;
} catch (Exception otherEx) {
otherEx.printStackTrace();
tdSuppdocImpl.revert();
mpCaseSuppdocImpl.revert();
}
}
实现EO的接口,重写子表EO中的postChanges方法,能使子表在提交的时候 自动获取主表的row,从而避免出现找不到parent key的错误。能获取到主表的imple 前提是2表之间存在association,所以必须先实现主表的EO的接口,以及穿件association。(改变提交VO顺序)(当然 在创建VO的时候 你createRow的时候 根据主次关系,依次创建vo,也能避免找不到parent key的错误)
@Override
public void postChanges(TransactionEvent e) {if (getPostState() == STATUS_NEW ||
getPostState() == STATUS_MODIFIED) {
TdAdverseEventImpl adverseEvent = getTdAdverseEvent();
if (adverseEvent != null) {
if (adverseEvent.getPostState() == STATUS_NEW) {
adverseEvent.postChanges( e );
}
}
}
super.postChanges( e );
}
重写EO的create方法 自动添加sequence 从而使得 create row时主键不需要主动set
/*** Add attribute defaulting logic in this method.
* @param attributeList list of attribute names/values to initialize the row
*/
protected void create(AttributeList attributeList) {
super.create(attributeList);
SequenceImpl sequenceImpl =
new SequenceImpl("TD_AE_E2B_PRI_SRC_SEQ", getDBTransaction());
setId(sequenceImpl.getSequenceNumber().getBigDecimalValue());
}
try {
super.lock();
} catch (RowInconsistentException e) {
refresh(REFRESH_WITH_DB_ONLY_IF_UNCHANGED | REFRESH_CONTAINEES);
super.lock();
}
}
0 0
- ADF 创建主表子表的先后顺序
- C++之类对象创建的先后顺序
- ObjectOutputStream 与 ObjectInputStream创建的先后顺序
- 成员初始化的先后顺序
- 内存释放的先后顺序
- java初始化的先后顺序
- 焦点处理的先后顺序
- 程序执行的先后顺序
- 构造方法的先后顺序
- 【Java】中类的构造方法与类中创建其他类对象的先后顺序
- LayUI富文本编辑器的使用--数据加载与编辑器创建的先后顺序
- 事件的触发时机及先后顺序
- 事件的触发时机及先后顺序
- 事件的触发时机及先后顺序
- shell 重定向的先后顺序问题
- SPRING的初始化方法执行先后顺序
- Struts2框架校验执行的先后顺序
- VB启动窗口的先后顺序
- 【爱上cocos2d-x之十七】scheduleOnce定时器只调用一次
- Hadoop 新 MapReduce 框架 Yarn 详解
- js 添加到收藏夹
- 新人第一次来C博客
- 排序算法实现
- ADF 创建主表子表的先后顺序
- Experience on Namenode backup and restore --- checkpoint......
- 配置Oracle RAC时修改/etc/hosts文件的注意事项
- MyEclipse从数据库反向生成实体类之Hibernate方式 反向工程
- asp.net mvc htmlhelper 扩展方法
- java分页
- 关于Hadoop的shuffle
- JAVA正则表达式语法大全
- tomcat开机自启配置