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,在下拉框选择。
分享到:
相关推荐
### 基于Oracle ADF 的应用程序开发过程详解 #### 一、Oracle ADF 概述 Oracle ADF (Application Development Framework) 是由 Oracle 公司推出的一款旨在简化 J2EE 应用程序开发复杂度的框架。ADF 的核心价值在于...
- **Oracle Application Development Framework (ADF)** 是一种用于快速开发企业级Java应用程序的框架。它提供了一种简化的方式来构建复杂的用户界面,并能够与Oracle数据库和其他后端系统进行无缝集成。 - **为何...
Oracle 应用程序开发框架 (Oracle ADF) 是一个端到端 JEE 框架,该框架...Oracle ADF的架构是基于MVC设计模式的,ADF把应用程序分成了四层;分别是:1)Business Service层;2)Model 层;3)Controller 层;4)View 层。
Oracle ADF(Application Development Framework)是Oracle公司提供的一款企业级Java EE开发框架,它主要用于构建富客户端和Web应用程序。ADF Web Service则是Oracle ADF的一部分,它允许开发者创建、消费和集成Web...
MVC(Model-View-Controller)架构是一种常用的软件架构模式,在Oracle ADF中也可以应用该架构。使用MVC架构,可以将应用程序分离成三个部分,分别是模型(Model)、视图(View)和控制器(Controller),提高应用...
总之,Oracle JDeveloper 和 Oracle ADF 结合使用可以极大地提高开发效率,简化开发流程,并为开发者提供一套全面的工具来构建高质量的企业级应用程序。通过这些工具和技术的支持,开发者能够在不同的平台上快速构建...
Oracle ADF结合了MVC(模型-视图-控制器)设计模式,利用了Java EE技术的强大功能,并为开发者提供了丰富的预构建组件。ADF允许开发人员通过声明式方式构建应用程序,同时提供了数据绑定、业务服务、安全性和用户...
Oracle ADF,全称为Oracle Application Development Framework,是Oracle公司提供的一款强大的Java EE应用程序开发框架。这个框架主要用于构建企业级的Web应用,特别是那些基于Oracle Fusion Middleware的系统。ADF...
Oracle ADF (Application Development Framework) Mobile 是一个结合了HTML5和Java技术的移动开发框架,旨在帮助开发者构建和扩展面向iOS及Android平台的企业级应用程序。该框架基于混合式移动架构设计,支持访问...
Oracle ADF (Application Development Framework) 是Oracle公司推出的一款企业级Java EE开发框架,它提供了丰富的UI组件、数据绑定和业务服务整合能力,帮助开发者构建基于Web的应用程序。JDeveloper是Oracle提供的...
Oracle Application Development Framework (ADF) 是一个全面的企业级应用开发框架,用于简化Java EE应用程序的开发过程。它为开发者提供了一整套工具和服务,帮助他们快速构建高质量的企业应用。ADF主要由以下三个...
Oracle ADF(Application Development Framework)是Oracle公司提供的一款基于Java EE的企业级开发框架,用于构建富客户端和Web应用程序。在Oracle ADF中,“tabbed”通常指的是TabbedPane组件,这是一个用户界面...
Oracle 应用开发框架(ADF)是一种强大的 J2EE 开发框架,旨在简化 J2EE 开发、提高开发效率和降低开发难度。ADF 框架基于模型 - 视图 - 控制器(MVC)设计模式,通过将应用分为三个层面:模型层、视图层和控制器层...
ADF(Application Development Framework)是一种由Oracle提供的用于开发企业级Java应用的框架。它采用MVC(Model-View-Controller)架构模式,帮助开发者构建高效、可扩展的应用程序。 - **Model层**:主要负责...
本教程将指导您如何使用Oracle JDeveloper 11g Version 11.1.1.2.0及ADF框架构建一个与数据库交互的富互联网应用(RIA)。在此过程中,您将学习到以下知识点: 1. **创建一个新的Fusion应用和业务组件**:首先需要...