iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >ADF Model: DBSequence(讨论一)
  • 400
分享到

ADF Model: DBSequence(讨论一)

2023-06-03 01:06:23 400人浏览 薄情痞子
摘要

Go to My oracle Blog刚开始使用ADF的同学基本都会问这样一个问题:以HR schema为例:如果列EMPLOYEE_ID的值由数据库端的Sequence负责产生,并且Sequence由Insert触发器调用,那么在中间层

Go to My oracle Blog

刚开始使用ADF的同学基本都会问这样一个问题:
以HR schema为例:
如果列EMPLOYEE_ID的值由数据库端的Sequence负责产生,并且Sequence由Insert触发器调用,那么在中间层创建Employee的业务逻辑中当然不必考虑为此列赋值。
结果是,在ADF Faces或是jsF页面上进行创建Employee操作之后,发现EMPLOYEE_ID是一个负数,而所使用Sequence不产生负数。数据库内的值正常。

为了避免发生中间件Cache和数据库不同步的情况,需要了解Oracle专门为Sequence+Trigger这样的搭配制作的一个domain class: oracle.jbo.domain.DBSequence。

如果把Entity Object的属性:EmployeeID的类型申明为DBSequence,那么就等于告诉了ADF Model以下几点信息:
1. 在Insert的时候这个列没必要让用户赋值。
2. 在Insert前为了确保它的值在Cache中唯一性,临时赋予一个唯一的负值。
3. 在Insert时不会先到数据库中取Sequence的值,而是直接插入。这样对性能有好处。
4. 在Insert后把获得的Sequence值从数据库再刷新回Entity Object的Cache。

实际上,当你使用触发器为列发放唯一值时,不一定要通过Sequence, 都可以利用oracle.jbo.domain.DBSequence。

所以,在这里我们不因该把EmployeeID的类型设为NUMBER或是其他什么,只要修改成DBSequence就解决问题了。

Todd

[@more@]

--结束END--

本文标题: ADF Model: DBSequence(讨论一)

本文链接: https://www.lsjlt.com/news/232022.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • ADF Model: DBSequence(讨论一)
    Go to My Oracle Blog刚开始使用ADF的同学基本都会问这样一个问题:以HR schema为例:如果列EMPLOYEE_ID的值由数据库端的Sequence负责产生,并且Sequence由Insert触发器调用,那么在中间层...
    99+
    2023-06-03
  • 讨论 Golang 的一些不足
    Golang 是一门功能强大的编程语言,被广泛地应用于各种应用场景。但是,像任何其他语言一样,它也有一些不足之处。在本文中,我将讨论 Golang 的一些不足,包括其缺点和局限性。并发机制学习曲线较陡Golang 是一门以并发编程为核心的语...
    99+
    2023-05-14
  • 讨论HTML5中被删除的一些功能
    HTML5是一种新一代的HTML标准,它是Web应用程序开发的重要组成部分,提供了更好的功能和更好的性能。然而,在HTML5标准的开发中,有些功能也被删除了。这些被删除的功能涉及到Web开发者和用户们常常使用到的一些特性。本文将讨论HTML...
    99+
    2023-05-14
  • 一文讨论GitLab公司的管理方案
    引言GitLab是一个强大的开源代码托管平台,它集合了代码托管、CI/CD、issue跟踪和沟通等多种功能,被越来越多的时尚IT公司所使用。然而,同样重要的是,GitLab公司并非只是一个简单的技术项目。GitLab公司也需要一套完善的管理...
    99+
    2023-10-22
  • 讨论一下PHP时间戳到底有几位
    PHP时间戳是指从1970年1月1日0时0分0秒以来的秒数,它可以表示一个绝对的时间,不受时区、地域等因素的影响。在PHP中,我们可以通过time()函数来获取当前的时间戳,也可以通过strtotime()函数将一个日期字符串转化为时间戳。...
    99+
    2023-05-14
    php php时间戳
  • 一文讨论如何在Github上删除文件
    GitHub是一个著名的版本控制平台,允许用户在托管代码的同时,参与到开源项目和其他合作模式中。 在这样一个团队协作的平台上,经常需要对代码库中的文件进行操作,包括删除文件。本文将讨论如何在Github上删除文件。第一步,登录Github账...
    99+
    2023-10-22
  • 一文讨论如何在 Golang 中进行 SQL 转义
    在现代的软件开发中经常需要对 SQL 语句进行转义以防止 SQL 注入攻击。Golang (Go)是一种现代的编程语言,也支持 SQL 转义。在本文中,我们将讨论如何在 Golang 中进行 SQL 转义。什么是 SQL 注入攻击?在软件开...
    99+
    2023-05-14
  • 讨论Golang中的一些典型的内存错误
    Golang作为一门现代化的编程语言,其在内存管理方面拥有着出色的表现,但是即便如此,在使用过程中仍然难免会出现一些内存方面的错误。在本篇文章中,我们将讨论Golang中的一些典型的内存错误,以及解决这些问题的方法。内存泄漏内存泄漏是一种典...
    99+
    2023-05-14
  • 详细讨论一下学习 Vue.js 的前置技能
    作为近年来非常热门的前端框架之一,Vue.js 一直备受开发者的追捧和青睐。Vue.js 简单轻量,容易上手,但是在学习的过程中,你还需要掌握一些基础知识和技能,下面我们就来详细讨论一下学习 Vue.js 的前置技能。了解 HTML、CSS...
    99+
    2023-05-14
  • 一文讨论Vue2中key和Vue3中key的区别
    作为一个Vue开发者,我们都知道,在Vue中使用v-for指令渲染列表时,必须要在每个子组件中加上一个key属性。这个key属性是一个特殊的属性,用于标识每个节点的唯一性。在Vue2.x版本中的key和Vue3.x版本中的key有很大的不同...
    99+
    2023-05-14
    Vue.js
  • 讨论Golang错误重试的一些问题和技巧
    在使用Golang编写应用程序的过程中,错误处理是必不可少的一部分。然而,在面临一些不可避免的错误时,我们可能需要尝试多次进行操作以达到成功。这就是所谓的错误重试。在本文中,我们将讨论有关Golang错误重试的一些问题和技巧。什么是错误重试...
    99+
    2023-05-14
  • 讨论一下php连接mysql失败的主要原因
    MySQL和PHP的连接是非常重要的,通常情况下,我们使用PHP语言连接MySQL数据库,然而,有时候我们会发现无法连接MySQL数据库,这可能是由多种原因引起的,下面我们将讨论一下主要的原因。MySQL服务器无法访问首先,我们需要检查My...
    99+
    2023-05-14
    php mysql
  • 讨论php在捕获异常方面存在一些问题
    PHP是一种开源的脚本语言,被广泛用于开发Web应用程序。PHP具有灵活的语法、易于学习和使用以及强大的扩展性、高效性等特点,深受开发者的青睐。但是,PHP也存在一些问题,在开发过程中需要注意。其中之一就是PHP在捕获异常方面存在一些问题。...
    99+
    2023-05-14
    捕获异常 php
  • 讨论JavaScript中接口方法参数的一些基本知识
    在编写JavaScript代码时,经常需要调用接口方法来实现某些功能。接口方法是指一组常用的函数,它们定义了一些常规操作,可以被其他函数或模块调用。在调用接口方法时,我们也需要传递一些参数给它们,这些参数用来控制接口方法的行为。本文将讨论J...
    99+
    2023-05-14
  • 讨论一下php项目修改css无效的可能原因
    在 Web 开发中,PHP 作为一种流行的后端开发语言,常常被用来处理客户端的请求并输出动态的页面或 API。而在页面渲染过程中,HTML、CSS、JavaScript 构成了前端的核心技术栈,它们的结合决定了页面的最终展示效果。有时候,我...
    99+
    2023-05-14
    php css
  • 【老师见打系列】:我只是写了一个自动回复讨论的脚本~
    文章目录 🌟好久不见⛳️实现过程🌴老操作了兄弟们~🐢一步拿捏讨论💖美图 结束语 专栏Python零基础入门篇&#x...
    99+
    2023-09-01
    python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作