ADF sequence
来源:互联网 发布:何茂春 知乎 编辑:程序博客网 时间:2024/06/06 14:21
概述
在Oracle相关应用中,经常使用Sequence作为主键,而在Oracle ADF应用中,应用Sequence自动产生主键也是非常方便的,文本中将介绍两种比较通用的使用方法。
实现
方法一
编写Java代码,即在Entity Object的实现类中重写create()方法,利用Oracle ADF提供的SequenceImpl帮助类实现Sequence值的生成,而在使用此方法之前需进行简单的设置,标明Entity Object中的哪一字段使用数据库Sequence,及使用的Sequence的名称,具体步骤如下:
1、创建基于HR Schema中Departments表的Entity Object, View Object并将View Object的实例添加到Application Module的Data Model中。
2、双击打开Entity Object,选择为DepartmentId属性添加客户化属性,名为“SequenceName”,其值为将要使用的数据库Sequence的名称。
3、打开Java面板,为该Entity Object生成实现类—DepartmentsImpl,重写其create()方法,代码如下:
1234567891011121314
/** * 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); for (AttributeDef def : getEntityDef().getAttributeDefs()) { String sequenceName = (String)def.getProperty("SequenceName"); if (sequenceName != null) { SequenceImpl s = new SequenceImpl(sequenceName, getDBTransaction()); setAttribute(def.getIndex(), s.getSequenceNumber()); } } }
4、运行Application Module,使用业务组件浏览器进行测试,当运行Departments在Application Module中的实例,点击create,DepartmentId被自动用Sequence的nextval填充。
方法二
使用Groovy Expression,即在待使用Sequence的属性上设置默认值其Value值,具体步骤如下:
1、创建基于HR Schema中Employees表的Entity Object, View Object并将View Object的实例添加到Application Module的Data Model中。
2、双击打开Entity Object,选择EmployeeId,在Entity Attribute中选择“Value Type”为Expression,并设置“Value”值为:
1
(new oracle.jbo.server.SequenceImpl("employees_seq";,object.getDBTransaction())).getSequenceNumber()
3、运行Application Module,使用业务组件浏览器进行测试,运行Employees在Application Module中的实例,点击create,EmployeeId被自动用Sequence的nextval填充。
在方法一中创建用户自定义属性时,SequenceName为属性名(为了在用户代码中引用),在vlaues一项中位departments_seq,在后续的代码中似乎没有用的,其实departments_seq 是oracle数据库根据departments表维护的一个sequence序列,用于维护主键的自增长
- ADF sequence
- ADF中使用Sequence
- ADF中使用Sequence
- ADF 中使用Sequence的方法总结
- ADF中解决sequence断号问题
- ADF 中使用Sequence的方法总结
- ADF中使用Sequence获取主键的用法
- 如何在ADF中使用Sequence自动增长
- adf
- adf
- adf
- adf
- ADF
- ADF Entity: 使用Groovy从Sequence中产生主键的值
- sequence
- SEQUENCE
- Sequence
- sequence
- Android双击两次返回按钮退出程序
- ubuntu 安装飞秋,安装服务端svn和eclipse安装svn
- (莱昂氏unix源代码分析导读-33) swap函数
- 11
- CALayer相关
- ADF sequence
- JS打印指定内容(新窗口)
- juery blockBI 弹出层插件
- 数据库到底用不用外键、触发器、索引、视图、存储过程
- Linux下使用bash进行文件的匹配与删除
- 回溯算法---01背包问题
- iPhone Backup information/note
- global.asax详解
- eclipse 去掉svn