Oracle中的varchar2对象最多只能存4000个字节,对于要进行大批量字符对象的存储来说显然是远远不够的,这时就需要用到CLOB。 Spring的HibernateTemplate的既有方法完全兼容对CLOB对象的操作,仅仅需要进行简单的配置: 1.保留实体中需要保存为CLOB对象的属性为String,而在hbm映射文件中将其修改为org.springframework.orm.hibernate3.support.ClobStringType 2.如果仅仅这样,会抛出异常:No LobHandler found for configuration - lobHandler property must be set on LocalSessionFactoryBean 解决方法: (1).声明一个处理句柄: 提示: 指定lobHandler时,对于MySQL、DB2、MS SQL Server、Oracle 10g,使用DefaultLobHandler即可,而Oracle 9i, <bean id="nativeJdbcExtractor" lazy-init="true" class="org.springframework.jdbc.support.nativejdbc. <bean id="lobHandler" lazy-init="true" class="org.springframework.jdbc.support.lob.OracleLobHandler"> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> 同时还应该使用对应的JDBC驱动。 |