spring+hibernate对Clob的处理

本文介绍了如何在Oracle数据库中使用Clob类型,并通过Spring框架实现与Hibernate的集成。包括了持久化类的设计、Spring配置文件设置、Hibernate配置以及具体的Java代码实现。
摘要由CSDN通过智能技术生成

     原来用的oracle 的vachar2 4000字节,感觉应该不小了,没想到没写几个字就完了,没办法,只有用oracle 的Clob了,可是怎么做了,上网查了好多,总结一下。。。

借用一下:

一、问题需求:

 1.在持久化类中字段该用什么类型?
 2.在Struts中文件对应的数据类型是什么?
 3.在Hibernate 中字段对应的类型是什么?
 4.如何在Spring 中处理这些文件?

二、解决:

    如果你用的是oracle 8 那就不用看了,因为下面的方法,好像行不通,你只能再接再励另找方法了!

    我的环境 oracle 10g 1.0.1,spring 1.2 ,hibernate 3.

 

1.持久类映射字段的类型:

    1.1 Blob 用byte[];

    1.2 Clob 用String;

2.Spring 配置文件:

 

	
       <!-- Oracle 9i 以上,oracle 10g 10.1.0.1以下 -->
       <bean id="nativeJdbcExtractor" class="org.springframework.jdbc.support.nativejdbc.CommonsDbcpNativeJdbcExtractor" lazy-init="true"/>
	
       <!-- spring 的操作句柄 -->
	<bean id="lobHandler" class="org.springframework.jdbc.support.lob.OracleLobHandler" lazy-init="true">
		<property name="nativeJdbcExtractor">
			<ref local="nativeJdbcExtractor"/>
		</property>
	</bean>

    2.1 往sessionFactory 中注入

	<bean id="sessionFactory"
		class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
		<property name="configLocation"
			value="classpath:hibernate.cfg.xml">
		</property>
		<!--把oracleLobHandler加入sessionFactory中  --> 
		<property name="lobHandler" ref="lobHandler"/>    	
	</bean>

 3. hibernate 配置

 

		<property name="content1" column="CONTENT1" 
		type="org.springframework.orm.hibernate3.support.ClobStringType" length="10000"/>

    注意:length 是字节

 

4.大功就快造成了。就差这么一步

	private String content1;
	public String getContent1() {
		return content1;
	}

	public void setContent1(String content1) {
		this.content1 = content1;
	}
 

就这样直接用吧,spring 把过程都写了,我们就透明着使用吧

 

 

PS:关于网上说的 oracle 10g 1.0.2.0以上版本可用ojdbc14.jar 保留意见!

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值