jspark
星星之火、可以燎原
BlogJava
首页
新随笔
联系
聚合
管理
随笔-16 评论-54 文章-0 trackbacks-0
spring+hibernate的clob大字段处理(转载于javaeye论坛)
在spring中如何处理oracle大字段
在spring中采用OracleLobHandler来处理oracle大字段(包括clob和blob),则在程序中不需要引用oracle的特殊类,从而能够保证支持我们的代码支持多数据库。
1、首先数据表中的clob类型对应java持久化类的String类型;而blob类型对应byte[]类型
2、定义hibernate标签时,持久化类中对应clob类型的属性的hibernate type应为org.springframework.orm.hibernate.support.ClobStringType;而对应blob类型的属性的hibernate type应为org.springframework.orm.hibernate.support.BlobByteArrayType。
3、以后访问这些对应clob和blob类型的属性时,按普通属性处理,不需要特别编码。
java代码:
<
bean
id
="mySessionFactory2"
class
="org.springframework.orm.hibernate.LocalSessionFactoryBean"
>
<
property
name
="dataSource"
>
<
ref
bean
="myDataSource2"
/>
</
property
>
<
property
name
="lobHandler"
>
<
ref
bean
="oracleLobHandle"
/>
</
property
>
</
bean
>
<
bean
id
="nativeJdbcExtractor"
class
="org.springframework.jdbc.support.nativejdbc.SimpleNativeJdbcExtractor"
/>
<
bean
id
="oracleLobHandle"
class
="org.springframework.jdbc.support.lob.OracleLobHandler"
Lazy-init
="true"
>
<
property
name
="nativeJdbcExtractor"
>
<
ref
local
="nativejdbcExtractor"
/>
</
property
>
</
bean
>
Spring为处理数据库Lob字段,特别提供了LobHandler接口。在操作Oracle RDBMS过程中,由于Oracle JDBC Driver实现的问题,应用必须采用Oracle原生的数据库连接(比如,oracle.jdbc.OracleConnection)、LOB原生实现(比如,oracle.sql.BLOB、oracle.sql.CLOB)。因此,LobHandler接口存在上述两种实现。简而言之,为操作Oracle数据库,必须使用OracleLobHandler实现。如果操作其他RDBMS类型,则使用DefaultLobHandler。NativeJdbcExtractor是个接口,通过它能够抽象各种连接池。另外Spring还提供两个接口存取Blob,LobCreator及LobHandler
posted on 2006-08-28 11:58
jspark
阅读(876)
评论(0)
编辑
收藏
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
知识库
C++博客
博问
管理
<
2006年8月
>
日
一
二
三
四
五
六
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(5)
给我留言
查看公开留言
查看私人留言
随笔档案
2008年10月 (3)
2006年11月 (4)
2006年8月 (4)
2006年7月 (5)
搜索
最新评论
1. re: ThreadLocal的几种误区[未登录]
评论内容较长,点击标题查看
--deepblue
2. re: ThreadLocal的几种误区
@lina
非static 的private成员变量属于每个对象,ThreadLocal只有一个对象吧
--leealways887
3. re: 关于Spring AOP和BeanNameAutoProxyCreator[未登录]
啥JB玩意儿!!
--111111
4. re: ThreadLocal的几种误区
HibernateUtil工具类中一般都有写closeSession的方法.
将线程对应的变量ThreadLocal中的session置为null.
这样归还线程池后又是干净的了.
--redcoatjk
5. re: 关于Spring AOP和BeanNameAutoProxyCreator
确实比较不知所云@我
--zhengb
阅读排行榜
1. ThreadLocal的几种误区(30697)
2. 如何更方便地进行CSV格式文件读写(11781)
3. 代码混淆方法之二(tomcat下面代码加密)(9049)
4. 代码混淆器的使用(7895)
5. csv reader的使用(6551)
评论排行榜
1. 代码混淆方法之二(tomcat下面代码加密)(13)
2. ThreadLocal的几种误区(12)
3. 关于Spring AOP和BeanNameAutoProxyCreator(11)
4. 代码混淆器的使用(6)
5. 开通个人blog,开心!(4)