更改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字符的限制
闽公网安备 35060202000074号