APPFUSE中使用CLOB类型

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

更改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字符的限制

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航