zoukankan      html  css  js  c++  java
  • Spring+Hibernate+Oracle中的Clob操作配置

    bean对象配置:

    <!-- 此处用于指定当前JDBC的实现,详见下面注解① -->
         <bean id="nativeJdbcExtractor" class="org.springframework.jdbc.support.nativejdbc.C3P0NativeJdbcExtractor" />
         <bean id="oracleLobHandler" class="org.springframework.jdbc.support.lob.OracleLobHandler" lazy-init="true">
          <property name="nativeJdbcExtractor">
           <ref bean="nativeJdbcExtractor" />
          </property>
         </bean>
    
    <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
            <property name="dataSource" ref="dataSource"/>    
            ...
            <property name="hibernateProperties">
                <value>
                hibernate.dialect=org.hibernate.dialect.Oracle9Dialect
                hibernate.show_sql=false
                </value>
            </property>
            <property name="lobHandler">
               <ref bean="oracleLobHandler" />
              </property>
        </bean>

     hibernate.hbm.xml配置:

    <property name="totalInfo" column="total_info" type="org.springframework.orm.hibernate3.support.ClobStringType" not-null="false"/>

     POJO属性设置:

    private String totalInfo;

     ---------------------------------------------------------------------------------------------------------------------------

    详解①:

      oracle使用私有的API产生oracle.sql.BLOB和oracle.sql.CLOB实例,oracle只接受其自己API产生的实例,并且在PreparedStatement中不支持大的数据流。

    此实现类需要一个原生的可以被转换成oracle.jdbc.OracleConnection的链接,所以在使用连接池的时候,就需要一个原生JDBC的转换器。

    Spring内置提供的NativeJdbcExtractor转换器有:位于orgspringframeworkjdbcsupport
    ativejdbc下
    C3P0NativeJdbcExtractor
    CommonsDbcpNativeJdbcExtractor
    JBossNativeJdbcExtractor
    NativeJdbcExtractor
    NativeJdbcExtractorAdapter
    SimpleNativeJdbcExtractor
    WebLogicNativeJdbcExtractor
    WebSphereNativeJdbcExtractor
    XAPoolNativeJdbcExtractor

    此处原生JDBC的转换器仅是真的Oracle进行设置,其他数据库可以直接使用SimpleNativeJdbcExtractor

     若未正确设置,会发生com.mchange.v2.c3p0.impl.NewProxyConnection cannot be cast to oracle.jdbc.OracleConnection异常。

  • 相关阅读:
    12306抢票系统——ER图及数据表
    深度学习攻防对抗(JCAI-19 阿里巴巴人工智能对抗算法竞赛)
    用Tensorflow实现DCGAN
    机器学习实战:数据预处理之独热编码(One-Hot Encoding)
    K最近邻算法
    正则表达式模块re
    2013百度研发笔试
    python初准备:安装easy_install和pip
    网络设备作用和工作ISO层
    01背包初始化的理解
  • 原文地址:https://www.cnblogs.com/tq03/p/3517892.html
Copyright © 2011-2022 走看看