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异常。

  • 相关阅读:
    在一个很长的字符串中搜索自定义字符串的问题(通过多线程实现)
    老鼠走迷宫
    js控制父子页面传值(iframe和window.open)
    C#后台跳转
    CSS小技巧-图片自动缩放
    js中去除换行( )
    js去除首尾空格
    JQuery隔行变色
    Web开发在线工具
    JQuery标签去重与数组去重
  • 原文地址:https://www.cnblogs.com/tq03/p/3517892.html
Copyright © 2011-2022 走看看