服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

appfuse中使用clob类型

更改applicationcontext-hibernate.xml文件为

<beans>
    <!-- hibernate sessionfactory -->
    <bean id="sessionfactory" class="org.springframework.orm.hibernate.localsessionfactorybean">
        <property name="datasource"><ref bean="datasource"/></property>
        <property name="mappingresources">
            <list>
                <value>model/role.hbm.xml</value>
                  ......
               <value>model/policy/policycontent.hbm.xml</value>
            </list>
        </property>
       
        <property name="lobhandler"><ref bean="oraclelobhandler"/></property>
       
        <property name="hibernateproperties">
           <props> 
               <prop key="hibernate.dialect">net.sf.hibernate.dialect.oracle9dialect</prop>
               <prop key="hibernate.show_sql">true</prop>
               <prop key="hibernate.jdbc.batch_size">15</prop>
           </props>
        </property>
    </bean>

    <bean id="oraclelobhandler" class="org.springframework.jdbc.support.lob.oraclelobhandler" lazy-init="true">
        <property name="nativejdbcextractor"><ref local="nativejdbcextractor"/></property>
    </bean>

    <bean id="nativejdbcextractor" class="org.springframework.jdbc.support.nativejdbc.simplenativejdbcextractor">
    </bean>

    <!-- transaction manager for a single hibernate sessionfactory (alternative to jta) -->
    <bean id="transactionmanager" class="org.springframework.orm.hibernate.hibernatetransactionmanager">
        <property name="sessionfactory"><ref local="sessionfactory"/></property>
    </bean>

    <!-- lookupdao: hibernate implementation -->
    <bean id="lookupdao" class="cn.perfectsoft.hiserviceapp.dao.hibernate.lookupdaohibernate">
        <property name="sessionfactory"><ref local="sessionfactory"/></property>
    </bean>
       ......

    <!-- policytypedao: hibernate implementation -->
    <bean id="policytypedao" class="cn.perfectsoft.hiserviceapp.dao.hibernate.policy.policytypedaohibernate">
        <property name="sessionfactory"><ref local="sessionfactory"/></property>
    </bean>
</beans>

在hbm.xml文件中的数据库clob类型的映射改为spring提供的clobstringtype

    <property
        name="policycontent"
        type="org.springframework.orm.hibernate.support.clobstringtype"
        column="policycontent"
        length="9000000"//可以在这里定义clob使用的大小,而oracle中最大可以使用2g的容量
    >
    </property>

不要使用hibernate提供的net.sf.hibernate.type.texttype类型

model层的java文件使用string类型即可

利用此配置,完善了appfuse项目中针对oracle的clob类型不能存储超过4000字符的限制

扫描关注微信公众号