加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

ADF 中使用Sequence的方法总结

发布时间:2020-12-14 17:02:51 所属栏目:大数据 来源:网络整理
导读:1,在EO的属性中使用Groovy 优:简单直接 缺:断号 (new oracle.jbo.server.SequenceImpl("XXXX_SEQ",adf.object.getDBTransaction())).getSequenceNumber() 2,在EO对应的java类的create方法中对属性赋值 优:可以产生复杂的Sequence值 缺:断号 SequenceIm

1,在EO的属性中使用Groovy

优:简单直接

缺:断号

(new oracle.jbo.server.SequenceImpl("XXXX_SEQ",adf.object.getDBTransaction())).getSequenceNumber()

2,在EO对应的java类的create方法中对属性赋值

优:可以产生复杂的Sequence值

缺:断号

      SequenceImpl sequence =
          new SequenceImpl("XXX_SEQ",getDBTransaction());
      oracle.jbo.domain.Number seqNum = sequence.getSequenceNumber();
      String strSeq = 'SIH_' + seqNum;
?     setStorageInHeaderCode(strSeq);

3,使用DBSequence类型

在数据库端创建Trigger给表的字段赋值,在EO中将该字段的类型设置为DBSequence。
优:避免断号

缺:界面中显示的值与最终commit保存到数据库中的值不同。

CREATE OR REPLACE TRIGGER ASSIGN_SVR_ID
BEFORE INSERT ON SERVICE_REQUESTS FOR EACH ROW
BEGIN
IF :NEW.SVR_ID IS NULL OR :NEW.SVR_ID < 0 THEN
SELECT SERVICE_REQUESTS_SEQ.NEXTVAL
INTO :NEW.SVR_ID
FROM DUAL;
END IF;
END;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读