`
dana.wang
  • 浏览: 13819 次
社区版块
存档分类
最新评论

ADF如何保存Clob字段

 
阅读更多
需求是这样的:由一个后台程序去给数据库新增一条记录,其中有的字段是Clob类型的。该表的主键是Sequence生成。

1.建立Entity Object
其中ID的Type为oracle.jbo.domain.DBSequence

2.建立View Object

3.在ApplicationModule中引入这个View Object. 并创建方法写入数据库。
    public void testForClob(){
        MssExtCommReqLogVOImpl vo = this.getMssExtCommReqLogVO1();
        MssExtCommReqLogVORowImpl row = (MssExtCommReqLogVORowImpl)vo.createRow();
        row.setRequestName("test7");
        try {
        row.setReqMessage(new ClobDomain("bbb"));
        } catch (Exception e) {
        e.printStackTrace();
        }
        vo.insertRow(row);
        vo.getDBTransaction().commit();
    }
程序出错,并得到以下异常:
Exception in thread "main" oracle.jbo.RowAlreadyDeletedException: JBO-25019: Entity row with key null is not found in MssExtCommReqLogEO.
at oracle.jbo.server.OracleSQLBuilderImpl.doEntitySelectForAltKey(OracleSQLBuilderImpl.java:879)
at oracle.jbo.server.BaseSQLBuilderImpl.doEntitySelect(BaseSQLBuilderImpl.java:566)
at oracle.jbo.server.EntityImpl.doSelect(EntityImpl.java:8589)
at oracle.jbo.server.EntityImpl.doDMLWithLOBs(EntityImpl.java:8893)
at oracle.jbo.server.EntityImpl.doDML(EntityImpl.java:8797)
at oracle.jbo.server.EntityImpl.postChanges(EntityImpl.java:7017)
at oracle.jbo.server.DBTransactionImpl.doPostTransactionListeners(DBTransactionImpl.java:3301)
at oracle.jbo.server.DBTransactionImpl.postChanges(DBTransactionImpl.java:3104)
at oracle.jbo.server.DBTransactionImpl.commitInternal(DBTransactionImpl.java:2108)
at oracle.jbo.server.DBTransactionImpl.commit(DBTransactionImpl.java:2389)
at com.emerson.testadf.main.model.am.AppModuleImpl.testForClob(AppModuleImpl.java:67)


解决方法:
编辑该Entity Object 的Id属性,在Refresh After 中选中Insert,保存, 若保存不成功,则手动修改xml文件上,在 Attribute Name="Id" 处加上RetrievedOnInsert="true"
再运行,成功。


分析: 在oracle中对Clob类型的字段操作需要先插入empty_clob(),然后再修改,ADF模拟这个动作,但是在插入后更新时没有到Id的值,所以引发上述的异常,若是将Entity Object中的属性修改为insert后更新就可以获得Id的值自动将其更新。
0
0
分享到:
评论

相关推荐

    java读写oracle clob字段

    本教程将介绍如何使用Java来读取和写入Oracle数据库中的CLOB字段。 首先,我们需要引入相关的Java和Oracle JDBC驱动库。在上述代码中,我们看到`import oracle.jdbc.driver.OracleDriver;`,这表示我们将使用Oracle...

    ADF4351配置程序.zip_ADF4351_ADF4351程式_adf4350配置_adf4351 程序_adf4351配置

    **ADF4351配置程序** ADF4351是一款高性能、高精度的频率合成器,广泛应用于无线通信、测试设备、卫星接收等系统中。它具有宽范围的频率输出能力,可编程的分频器和倍频器设计,使得在不同应用中能够灵活调整输出...

    ADF检验MATLAB程序.zip_ADF单位根检验_ADF检测_MATLAB adf_adftest matlab_adf检验

    标题中的“ADF检验MATLAB程序.zip”指的是一个包含MATLAB代码的压缩文件,用于执行Augmented Dickey-Fuller(ADF)单位根检验。ADF检验是统计学中一种常用的方法,用于判断时间序列数据是否具有单位根,即数据是否...

    宽带PLL ADF41513(1)_ADF_acceptwcc_adf4360_ADF41513_ADf4360-7_

    标题中的“宽带PLL ADF41513(1)_ADF_acceptwcc_adf4360_ADF41513_ADf4360-7_”提及了两个关键器件:ADF41513和ADF4360-7。这两个都是高性能的频率合成器,在无线通信、测试设备以及各种信号处理应用中广泛使用。 ...

    ADF4351.rar_ADF4351_ADF4351锁相环例程_adf4351双路输出_adf4351辅助输出

    **ADF4351简介** ADF4351是一款高性能的射频(RF)频率合成器,由ADI公司设计生产,适用于多种无线通信系统。它采用先进的锁相环(PLL)技术,能够产生精确且可调的射频信号,频率范围广泛,正如描述中所提及的,...

    adf4159.rar_FMCW_adf4159

    标题中的“adf4159.rar_FMCW_adf4159”表明这是一个与ADF4159芯片相关的资源包,重点在于FMCW(Frequency Modulated Continuous Wave)技术的应用。FMCW雷达是一种利用连续波频率调制来测量目标距离、速度和角度的...

    verilog配置ADF4355

    在数字信号处理领域,ADF4355是一款高性能的射频频率合成器,常用于通信系统、测试设备以及各种无线应用。它提供了宽广的频率范围、高精度和灵活的编程能力。本教程将深入探讨如何使用硬件描述语言Verilog对ADF4355...

    ADF5355 SPI程序

    **ADF5355 SPI程序详解** 在嵌入式系统设计中,经常需要与各种外设进行通信,其中SPI(Serial Peripheral Interface)是一种常见的串行通信协议,因其简单高效而被广泛应用。本教程将深入探讨如何使用STM32微控制器...

    ADF4001/ADF4002的驱动代码(基于正点原子MINISTM32)

    本文将深入探讨基于正点原子MINISTM32平台的ADF4001/ADF4002驱动代码,这两个器件是高性能的锁相环(PLL)芯片,广泛应用于无线通信、射频系统以及频率合成等领域。 首先,我们要理解锁相环(Phase-Locked Loop,简称...

    ADF41513 数据手册.PDF

    ADF41513 数据手册 ADF41513 是一款超低噪频率合成器,可以在无线接收器和发射器的上转换和下转换部分实现高达 26.5 GHz 的局部振荡器(LO)。该器件采用高性能硅锗(SiGe)双极性互补金属氧化物半导体(BiCMOS)...

    adf文件转TIFF文件

    2. **处理地理信息**:ADF文件可能包含地理坐标系统信息,工具需要正确解析并保存这些信息,以便在TIFF文件中保留地理参考。 3. **数据转换**:将ADF的二进制数据转换为TIFF的图像数据格式。 4. **选择压缩选项**:...

    ADF4351驱动程序

    **ADF4351驱动程序**是针对Analog Devices公司的ADF4351 PLL(锁相环)频率合成器设计的软件驱动。ADF4351是一款高性能、高精度的微波频率合成器,适用于无线通信、测试设备、雷达系统以及其他需要精确频率生成的...

    adf4351的驱动代码、中文数据手册、相关论文讲解,adf4350中文手册,C,C++

    在IT领域,ADF4351是一款高性能的射频(RF)频率合成器,由ADI公司制造。这个组件被广泛应用于无线通信、测试设备、卫星接收器和其他需要精确频率生成的系统中。在这个压缩包中,包含的是ADF4351相关的关键资源,...

    Oracle Adf级联菜单过滤

    在这里,定义List Attributes,指定它应该保存职位表中的关联字段信息,如部门ID。 为了控制UI的显示,我们需关注UI Hints。在这里,你可以选择要显示的字段,比如职位名称,以供用户选择。在View Accessors标签页...

    STM32 ADF4351

    STM32 ADF4351模块是针对射频(RF)系统设计的一款高精度、高性能的锁相环(PLL)解决方案。STM32是一款基于ARM Cortex-M内核的微控制器,而ADF4351则是一款由Analog Devices公司生产的可编程频率合成器,它们在无线...

    adf检验_ADF检验_

    标题中的"adf检验"和"ADF检验"指的是Augmented Dickey-Fuller (ADF) 检验,这是一个广泛应用于时间序列分析的统计测试,用于判断一个时间序列变量是否具有单位根,即判断该序列是否稳定。如果一个序列含有单位根,...

    ADF4351模块资料-V1.0

    **ADF4351模块资料-V1.0** 在电子工程领域,特别是在射频(RF)设计中,ADF4351是一款广泛应用的频率合成器芯片。ADF4351由Analog Devices公司制造,它提供了高精度和广泛的频率范围,使得它成为通信系统、测试设备...

    adf4351配置模板及配置软件

    在电子设计领域,ADF4351是一款高精度、可编程射频频率合成器,广泛应用于通信、测试设备以及各种无线系统中。该器件由ADI(Analog Devices, Inc.)公司制造,提供了灵活的频率设定和卓越的相位噪声性能。在本压缩包...

    ADF4351中文数据手册

    ADF4351是美国模拟器件公司(Analog Devices, Inc.)推出的一款高性能的频率合成器,适用于多种无线通信应用,包括无线局域网(WLAN)、无线城域网(WiMAX)、全球移动通信系统(GSM)、个人通信服务(PCS)、数字...

Global site tag (gtag.js) - Google Analytics