ssh+mysql中关于大字段的设置
2012-11-07 14:29
375 查看
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)在spring配置文件中(即beans.xml中)声明一个处理句柄:
<bean id="lobHandler" class="org.springframework.jdbc.support.lob.DefaultLobHandler" lazy-init="true" />
(2).在sessionFactory中注入lobHandler:
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="lobHandler" ref="lobHandler"/>
</bean>
提示: 指定lobHandler时,对于MySQL、DB2、MS SQL Server、Oracle 10g,使用DefaultLobHandler即可,而Oracle 9i,
则可以使用OracleLobHandler。因为Oracle9i处理lob的方式和不太一样,所以这里要用spring提供的SimpleNativeJdbcExtractor.处理Oracle9i lob类型的特殊声明:
<bean id="nativeJdbcExtractor" lazy-init="true" class="org.springframework.jdbc.support.nativejdbc.
SimpleNativeJdbcExtractor"/>
<bean id="lobHandler" lazy-init="true" class="org.springframework.jdbc.support.lob.OracleLobHandler">
<property name="nativeJdbcExtractor">
<ref bean="nativeJdbcExtractor"/>
</property>
</bean>
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<!-- 为处理Blob类型字段的句柄声明 -->
<property name="lobHandler">
<ref local="lobHandler" />
</property>
</bean>
同时还应该使用对应的JDBC驱动
1.保留实体中需要保存为CLOB对象的属性为String,而在hbm映射文件中将其类型修改为org.springframework.orm.hibernate3.support.ClobStringType
2.如果仅仅这样,会抛出异常:No LobHandler found for configuration - lobHandler property must be set on LocalSessionFactoryBean
解决方法:
(1)在spring配置文件中(即beans.xml中)声明一个处理句柄:
<bean id="lobHandler" class="org.springframework.jdbc.support.lob.DefaultLobHandler" lazy-init="true" />
(2).在sessionFactory中注入lobHandler:
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="lobHandler" ref="lobHandler"/>
</bean>
提示: 指定lobHandler时,对于MySQL、DB2、MS SQL Server、Oracle 10g,使用DefaultLobHandler即可,而Oracle 9i,
则可以使用OracleLobHandler。因为Oracle9i处理lob的方式和不太一样,所以这里要用spring提供的SimpleNativeJdbcExtractor.处理Oracle9i lob类型的特殊声明:
<bean id="nativeJdbcExtractor" lazy-init="true" class="org.springframework.jdbc.support.nativejdbc.
SimpleNativeJdbcExtractor"/>
<bean id="lobHandler" lazy-init="true" class="org.springframework.jdbc.support.lob.OracleLobHandler">
<property name="nativeJdbcExtractor">
<ref bean="nativeJdbcExtractor"/>
</property>
</bean>
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<!-- 为处理Blob类型字段的句柄声明 -->
<property name="lobHandler">
<ref local="lobHandler" />
</property>
</bean>
同时还应该使用对应的JDBC驱动
相关文章推荐
- 关于Mysql的日期类型字段设置默认值为当前日期的解决方案
- 关于MYSQL字段长度设置的问题
- 关于Mysql字段属性的基本设置
- mysql 关于字符集3个方面的设置
- Ubuntu 安装后的初始设置ssh、Mysql
- centos7中关于mysql安装自动备份及tomcat服务自动启动的设置方法
- 关于mysql的字段长度含义问题。
- Mysql 如何设置字段自动获取当前时间
- Mysql 如何设置字段自动获取当前时间
- 关于MySql 关键字与字段名冲突 的问题
- 关于数据库更新字段,对更新时间的设置
- 关于ssh设置免口令登录
- MySQL表字段设置默认值(图文教程及注意细节)
- 关于C#(ASP.net)存取MySQL LongText字段的心得
- mysql设置数据库字段类型,保存时自动获取数据库服务器时间
- 关于mysql的wait_timeout参数 设置不生效的问题【转】
- 关于mysql5.6的一些设置
- MySQL设置自增字段的方法介绍
- MySQL设置自增字段的方法介绍
- navicat设置mysql中的int字段以及c++中int类型小细节