当前位置:  技术问答>java相关

采用容器管理的实体bean,如何处理oracle数据库自动增加的编号?

    来源: 互联网  发布时间:2015-10-13

    本文导语:  采用容器管理的实体bean,如何处理oracle数据库自动增加的编号问题: 我现在oracle中有一表tab_stuff和一个sequence表seq_stuff。 目的是:在向tab_stuff插入一条记录的时候,读取seq_stuff中的编号作为新记录的编号字段的值。 ...

采用容器管理的实体bean,如何处理oracle数据库自动增加的编号问题:
我现在oracle中有一表tab_stuff和一个sequence表seq_stuff。
目的是:在向tab_stuff插入一条记录的时候,读取seq_stuff中的编号作为新记录的编号字段的值。
现有stuffBean(容器管理的实体bean,映射tab_stuff),问题是调用create方法来插入一条记录的时候怎么将seq_stuff中的编号传进去?
于是我又专门写了个SeqStuffBean(session bean),其中有个方法getSeqStuff(),通过jdbc来读取当前seq_stuff中的值,然后每次调用实体bean stuffBean中的create方法之前总是先调用getSeqStuff()来获取编号。
这样的问题是每次插入一条数据,应用程序和数据库服务器都要进行两次交互(读编号,保存新的记录),如果不用容器管理的bean的话,用一条sql语句就可以解决,不用和数据库服务器进行两次交互。
请问使用容器管理的实体bean对这问题有没有好的解决方法呢?
上次有个网友告诉我用observer模式可以解决这个问题,哪有详细资料和代码示例呢?
这问题能不能考虑用触发器来实现呢?

|

        AMquestion
        any8DataSource
        AMQUESTION
        
            questionid
            QUESTIONID
        
        
            content
            CONTENT
        
        
            answer
            ANSWER
        
        
            amtype
            AMTYPE
        
        
            amdate
            AMDATE
        
        
            currentseqid
            CURRENTSEQID
        
        
            status
            STATUS
        

            ORACLE
            AMQUESTION_QUESTIONID
            1
        
    

实体BEAN本身就能用序列做为主键ID,只需要在XML配置文件写上AMQUESTION_QUESTIONID这个序列名就行了
如你要的话,留下EMAIL,我给你一个完整的实体BEAN代码及它在WEBLOGIC下的三个XML配置文件,看一下就明白了.很简单的.

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 采用Linux/Unix作为服务器和采用windows系列有什么优缺点呢?
  • 作CRM现在使用什么开发工具比较方便?采用什么结构?
  • 采用Flash的嵌入式系统中是否难以应用数据库?
  • 请教有没有谁在 LINUX下实现对DVD光盘采用UDF格式刻录的?
  • 如果CSDN采用JSP技术,访问速度会不会加快
  • 请问应用服务器本身也是采用多层结构吗?疑惑中。
  • Solaris系统下,使用gcc编译程序,请问采用1字节对齐应该怎样设置
  • 在调用pthread_testcancel时要采用这样的方式???
  • YC2440开发板采用什么串口线?
  • 消息队列一般是怎么使用的,是采用While的方式进行轮询么
  • 采用UDP对ARM系统远程监测
  • 一个可以自动排序、频繁增删的队列,采用哪种数据结构比较好?
  • 关于采用NT Loader引导redhat7.2的问题。
  • linux系统下,采用 ADSL 路由方式上网,如何设置网络端口interface的值?
  • c/c++ iis7站长之家
  • linux 可以采用crypt来加密口令,不知道有什么解密方法没有?
  • 采用XML时候大家用DTD还是SCHEMA。
  • HP-UX 11.0 采用的是unix操作系统吗?
  • 怎么样去除浏览器中的滚动条,而采用内部的滚动条!
  • Primitive 与 String 之间的转换必须采用封装类吗?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3