spring+hibernate的clob大字段处理
在spring中如何处理oracle大字段
在spring中采用OracleLobHandler来处理oracle大字段(包括clob和blob),则在程序中不需要引用oracle的特殊类,从而能够保证支持我们的代码支持多数据库。
所以在Spring的主配置文件xx.xml中的配置SessionFactory的bean中配置:
<bean id="nativeJdbcExtractor" class="org.springframework.jdbc.support.nativejdbc.CommonsDbcpNativeJdbcExtractor" lazy-init="true" autowire="default" dependency-check="default"/>
<bean id="oracleLobHandler" class="org.springframework.jdbc.support.lob.OracleLobHandler" lazy-init="true" autowire="default" dependency-check="default">
<property name="nativeJdbcExtractor" ref="nativeJdbcExtractor"/>
</bean>
<bean id="sessionFactory" class="org.hibernate.cfg.SWSSessionFactoryBean" lazy-init="false" autowire="default" dependency-check="default">
...
<property name="lobHandler">
<ref bean="oracleLobHandler"/>
</property>
...
</bean>
大家可能已经注意到 nativeJdbcExtractor和 lobHandler 都设置为 lazy-init="true",
这是因为 nativeJdbcExtractor需要通过运行期的反射机制获取底层的 JDBC 对象,
所以需要避免在 Spring 容器启动时就实例化这两个 Bean。
<注:上面的SWSSessionFactoryBean是被重写过的,继承AnnotationSessionFactoryBean>
1、首先数据表中的clob类型对应java持久化类的String类型;而blob类型对应byte[]类型
2、1.定义hibernate标签时,持久化类中对应clob类型的属性的hibernate type应为org.springframework.orm.hibernate.support.ClobStringType;而对应blob类型的属性的hibernate type应为org.springframework.orm.hibernate.support.BlobByteArrayType。
2.如果通过spring 注解功能配置PoJo类时,在该大字段属性的getXXX()方法前面加上注解:
public String xxx;
...
@Lob
@Type(type="org.springframework.orm.hibernate3.support.ClobStringType")
@Column(length=10000)
public String getXXX ()
{
return xxx;
}
注释:
@Lob:大字段,lob包括blob和clob,其中clob用于纯文本的,blob用于非文本的,比如图片;
@Type(type="org.springframework.orm.hibernate3.support.ClobStringType"):Oracle JDBC
不允许流操作以批量方式执行,而Oracle CLOB采用流机制作为数据读写方式,两则冲突,
所以用这个注解解决,可见spring对LOB有很好的支持,如果用到blob,可以把support后
面的type改掉。当然也可以设置<prop key="hibernate.jdbc.batch_size">0</prop>,不过这个
方法比较不好,会影响效率,不推荐。
@Column(length=10000) :这个简单,就是限制长度,最大值多少没亲自侧过,理论上4G,但在
NTFS文件系统或许不止4G,没试过。
3、以后访问这些对应clob和blob类型的属性时,按普通属性getorSet处理,不需要特别编码。
转载于:https://www.cnblogs.com/zhongjinbin/archive/2012/05/03/2480914.html
spring+hibernate的clob大字段处理相关推荐
- spring+hibernate中clob、blob字段的处理方法
今天在开发项目的时候遇到CLOB字段的问题,和平时的String字段一样处理发现HQL的查询结果是NULL,到网上查找了一些资料,处理方式作了一些修改以后,数据成功显示,现总结配置如下: applic ...
- 关于OLEDB 大字段操作一点总结
OLEDB技术是微软提供的一套非常强悍的面向不同数据源的数据库接口,而我所接触的开发人员中使用的人并不多,大部分使用基于OLEDB的ADO方式进行数据库操作.使用OLEDB操作普通字段的资料在网上很常 ...
- Struts+Spring+Hibernate处理Lob(Blob,Clob)--sessionFactory中注入 org.springframework.jdbc.support.lob.Def
[转载]org.springframework.jdbc.support.lob. 转载▼ 标签: 转载 分类: spring 原文地址:org.springframework.jdbc.suppor ...
- oracle clog读取 php,Spring+Hibernate中处理Oracle的BLOG和CLOG字段
对于BLOG和CLOB字段,大部分数据库提供了较为透明的支持,但Oracle比较特殊一些,在用Spring和Hibernate操作时,需要作一些特殊的处理,以CLOB为例,基本有下面几个步骤: 1.在 ...
- oracle数据库查询如何导出大字段,Oracle数据库导出大字段(CLOB)数据-Oracle
导出CLOB的几个SQL语句: 1.导出含有大字段数据的M条记录 exp user/passwd statistics=none compress=n consistent=y file=/orada ...
- oracle9i 大字段CLOB 长度无效 异常ORA-01483: DATE 或 NUMBER 赋
2019独角兽企业重金招聘Python工程师标准>>> oracle9i 大字段CLOB 长度无效 异常: Caused by: java.sql.BatchUpdateExcept ...
- oracle varchar2改成大字段类型clob,读取大字段内容
oracle varchar2(4000)改成大字段类型clob,如果需要改成大字段的varchar2列有内容,不能直接用 alter table med_generic modify option0 ...
- mysql的大字段clob,Oracle数据库导出大字段(CLOB)数据
导出CLOB的几个SQL语句: 1.导出含有大字段数据的M条记录 exp user/passwd statistics=none compress=n consistent=y file=/orada ...
- Spring Boot + Oracle 处理Blob/Clob类型字段实例
本篇演示使用SpringBoot (JPA)如何保存和查询Oracle 数据库中的Clob/Blob 类型的字段. Clob/Blob 大对象数据 Clob/Blob 类型的字段用于保存大型的数据, ...
最新文章
- 注册窗口类RegisterClassEx AfxRegisterWndClass
- vsftp匿名访问目录_vsftp 匿名访问设置设置
- Seq2Seq中Exposure Bias现象的浅析与对策
- 计算机网络 闯关,2009计算机网络考研试题过关必练.docx
- wdcp mysql密码_wdcp默认的mysql密码是多少?
- linux用户怎么归纳到组,Linux用户和组命令总结
- Oracle包和包体
- C#初学的一些注意点
- ofdm误码率仿真代码_共享源代码之MSK仿真(1)
- 小游戏《塔防》开发(一)上篇
- linux安装seaweedfs
- 我的十余年职业生涯之路
- pion:rtc-to-webrtc示例
- CTFSHOW WEB 1-100
- Elasticsearch的DSL搜索
- 云呐数据备份|什么是结构化数据
- numpy 光速入门示例
- 字典树/Trie/前缀树-LeetCode总结:720词典中最长的单词;127. 单词接龙;677. 键值映射;面试题 17.17. 多次搜索;648. 单词替换
- c语言中求定积分矩形法,C语言使用矩形法求定积分的通用函数
- Unity给图片添加点击事件
热门文章
- Codeforces Round #716 (Div. 2), B. AND 0, Sum Big, 快速幂结论题
- 【poj3468】A Simple Problem with Integers
- Delicious Apples
- 集训被虐第一天7.31
- vc 控制台添加托盘显示_VC添加托盘图标
- 试题14 回文数(详解)
- Unity3D之NGUI基础4:NGUI图片管理工具AtlasMaker
- 人群与网络:新事物在网络中的扩散
- bzoj 3503: [Cqoi2014]和谐矩阵(高斯消元)
- bzoj 1133: [POI2009]Kon(DP)