Oracle ADF 有四种锁的模式,以下简单介绍一下这四种模式的区别:
(一)Optimistic:
1)单是submit不会锁;
2)如果在未提交事务时,存在其他用户已修改改行(任意字段)数据,则提交事务时会报:
“其他用户已更改具有主键 oracle.jbo.Key[AD_PRES ] 的行。”错误
(但连续点击第二次commit时能保存数据)
3)违反数据库约束保存失败时,不会锁定该行记录(或锁定后报错后释放),表示为保存报错时其他用户可改改行记录。
值得注意的是:如果数据(整行)未改变(相对于当前缓存的值,及不改变页面值)时点击提交事务,其过程应该是先和缓存比较,如相同则不向数据库提交事务。
(二)None:
1)单是submit不会锁;
2)如果在未提交事务时,存在其他用户已修改改行数据,则提交事务时会不报错;(但commit时只提交修改过的字段)。这种情况下存在的问题是:不同用户可在任意时候保存数据,对于自己当前页面修改过的字段谁最后保存就能存到数据库,当不修改的(相对于缓存)即使和数据库的不一致也不会提交保存到数据库。
3)违反数据库约束保存失败时,不会锁定该行记录。
(三)Optupdate:
1)单是submit不会锁;
2)如果在未提交事务时,存在其他用户已修改改行(任意字段)数据,则提交事务时会报:
“实体行更新操作找不到匹配行: 实体名称 Jobs, 关键字 oracle.jbo.Key[AD_PRES ] ”错误。(连续点击多次commit同样报这一错误);
3)违反数据库约束保存失败时,不会锁定该行记录。
(四)Pessimistic:
1)单是submit会锁定记录;
2)如果在未提交事务时,存在其他用户已修改改行(任意字段)数据,则提交事务时会报:
“其他用户已更改具有主键 oracle.jbo.Key[AD_PRES ] 的行。”错误;
3)违反数据库约束保存失败时,会锁定该行记录,如果被其他用户锁定行记录,则submit时会报错。
(报错后,如果该字段未改变,不会重新在后台进行验证,只有改变该字段后才会从新从提交验证);
4)这情况下,如果锁定记录关IE的话,锁不会释放。
注意:推荐使用(默认Optimistic模式)
如何全局设置锁模式(Jdeveloper版本为11.1.2.0):
1)打开在Application Resource面板的Descriptors\ADF META-INF\adf-config.xml文件;
2)在Overview标签的打开Business Components,勾选Locking Mode,在下拉框选择。
分享到:
相关推荐
很好的ADF中文资料,Oracle ADF Essentials
本文档介绍了Oracle ADF的具体的开发过程,原理,及具体的步骤,以及一些demo。
Oracle ADF AM常用配置参数参考 1、AM 常用参数 2、AM 压力测试报告 3、AM 参数配置原则 4、AM 参数配置详细说明
Oracle ADF开发实战指南,学习adf好教程。
1013版本oracleADF开发指南 官方版本
oracle ADF开发指南第一章 Oracle® Application Development Framework Developer’s Guide For Forms/4GL Developers 10g Release 3 (10.1.3.0) B25947-01
Oracle 应用程序开发框架 (Oracle ADF) 是一个端到端 JEE 框架,该框架...Oracle ADF的架构是基于MVC设计模式的,ADF把应用程序分成了四层;分别是:1)Business Service层;2)Model 层;3)Controller 层;4)View 层。
[Packt Publishing] Oracle ADF 11gR2 初学者开发指南 (英文版) [Packt Publishing] Oracle ADF 11gR2 Development Beginner's Guide (E-Book) ☆ 出版信息:☆ [作者信息] Vinod Krishnan [出版机构] Packt ...
Oracle® Fusion Middleware Understanding Oracle Application Development Framework 12c (12.2.1.3.0) E80020-01 August 2017
Fusion Developer's Guide for Oracle ADF [11.1.1.7]
describes the architecture and key functionality of the Oracle Application ...JDeveloper 10g Release 3 (10.1.3) to build web applications using Oracle ADF, Enterprise JavaBeans, Oracle TopLink, and JSF.
这是Adf多表级联菜单实例其中保存创建Criteria知识,多表关系,以及在Vo中使用vo当前字段过滤结果
http://www.oracle.com/technetwork/developer-tools/adf/uishell-093084.html
迅速掌握Oracle的应用程序开发框架(ADF)。快速构建易于重用,扩展和维护的现代化,用户友好的应用程序。 Oracle ADF生存指南涵盖了最新的12c版本,并解释了所有重要的概念和部分,包括ADF Faces,ADF任务流程,ADF...
目前功能最全的JSF框架Oracle ADF 开发资料分享
Oracle ADF MenuDemo 案例
oracle adf web service 案例
ADF定义:Application Development Framework是oracle开发的一个基于Jdeveloper的界面化操作MVC开发框架,依赖XML进行数据映射和配置,实现客户端空间“拖拽”数据绑定,大大简化基于MVC的WEB开发
oracle adf JDeveloper 教程 java j2ee oracle adf JDeveloper 教程 java j2ee oracle adf JDeveloper 教程 java j2ee oracle adf JDeveloper 教程 java j2ee oracle adf JDeveloper 教程 java j2ee