1.如果我们需要操作图片等二进制数据那么我们就使用clob,hibernate的实体映射文件配置
<property name="image" type="org.springframework.orm.hibernate3.support.BlobByteArrayType">
<column name="image" />
</property>
2.hibernate的实体属性
private byte[] image;
3.在spring的配置文件里面配置这样几项配置
<!-- 读写lob字段 处理大型大块数据,这项配置可以不要
<bean id="nativeJdbcExtractor" class="org.springframework.jdbc.support.nativejdbc.SimpleNativeJdbcExtractor" lazy-init="true"/>
-->
<bean id="lobHandler" class="org.springframework.jdbc.support.lob.DefaultLobHandler" lazy-init="true" />
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource"></property>
<property name="lobHandler" ref="lobHandler"></property><!-- 读写lob字段 处理大型数据的必须配置-->
<!--如果去掉lobHandler这项配置那么你的程序就会报没有配置lobHandler,错误提示 No LobHandler found for configuration- lobHandler property must be set on LocalSessionFactoryBean
java.lang.IllegalStateException: No LobHandler found for configuration - lobHandler property must be set on LocalSessionFactoryBean
at org.springframework.orm.hibernate3.support.AbstractLobType.nullSafeSet(AbstractLobType.java:174)
at org.hibernate.type.CustomType.nullSafeSet(CustomType.java:140)
......等
-->
<property name="configLocation" value="classpath:hibernate.cfg.xml"></property>
</bean>
4.我们只要调用hibernate的save(obj)方法就可以保持包含大字段的实体了
如session.save(person)
5.在操作大字段的时候一定要在事务的管理下进行,不然会包这个错误
java.lang.IllegalStateException: Active Spring transaction synchronization or active JTA transaction with specified [javax.transaction.TransactionManager] required
at org.springframework.jdbc.support.lob.LobCreatorUtils.registerTransactionSynchronization(LobCreatorUtils.java:79)
at org.springframework.orm.hibernate3.support.AbstractLobType.nullSafeSet(AbstractLobType.java:185)
......等
6.如果你使用spring的hibernatetemplate来操作数据的话,那么请你使用hibernatetemplate的响应方法来操作大字段,在这本人没有测试过,希望会的人补上
分享到:
相关推荐
NULL 博文链接:https://liubing1883.iteye.com/blog/405679
NULL 博文链接:https://ylsuccess.iteye.com/blog/411005
BLOB和CLOB的区别以及在ORALCE中的插入和查询操作
通过spring存blob和clob数据到sybase数据库中,压缩包里包含了三种方式,(1)spring+hibernate,切面事务(aop),存lob数据,(2)spring+hibernate存lob数据,(3)spring+jdbc存lob数据。
Oracle的LOB(CLOB)大字段以及(SYS_LOB$$)清理.txt
第11章:讲解了如何使用Spring JDBC进行数据访问操作,我们还重点讲述了LOB字段处理、主键产生和获取等难点知识。 第12章:讲解了如何在Spring中集成Hibernate、myBatis等数据访问框架,同时,读者还将学习到ORM...
文件数据存储在Blob类型的FILE_CONTENT表字段上,在Spring中采用OracleLobHandler来处理Lob字段(包括Clob和Blob),由于在程序中不需要引用到oracle数据驱动程序的具体类且屏蔽了不同数据库处理Lob字段方法上的...
第11章:讲解了如何使用Spring JDBC进行数据访问操作,我们还重点讲述了LOB字段处理、主键产生和获取等难点知识。 第12章:讲解了如何在Spring中集成Hibernate、myBatis等数据访问框架,同时,读者还将学习到...
oracle expdp导出blob字段遇到ora-01555报错的解决方案
对非DB2数据库的数据复制, 不直接支持LOB(BLOB,ClOB)等大对象数据类型,但在实际应用中,用户需要复制的表中有可能有BLOB等大对象数据,如果数据目标为Oracle,这类大对象复制的需求可通过对WII的复制进行特殊配置实现...
一款Oracle LOB(CLOB,BLOB)数据类型字段编辑工具,让你快速、高效地进行LOB(CLOB,BLOB)数据类型字段编辑工作。
CLOB变量需要dbms_lob.createtemporary,临时表空间中,建立临时LOB。 大数据量,返回值虽然是CLOB,依然会报错; CLOB变量需要dbms_lob.createtemporary,临时表空间中,建立临时LOB。 大数据量,返回值虽然是CLOB...
structs1.2 spring2.5 hibernate3.0 java web 对clob大文本 blob图像处理 这是一个完整的例子,整合了ckeidtor,servlet直接显示数据库blob图片, 注意oracle驱动ojdbc14.jar,如果是其他驱动例如ojdbc14_*g都是不...
NULL 博文链接:https://sosuny.iteye.com/blog/446112
LOB2Table 是一组 Oracle PL/SQL 流水线函数,允许您像普通表一样查询 CLOB、BLOB、BFILE 或 VARCHAR2 中的 CSV 或固定列数据存储。 有关详细说明,请参阅 Wiki。
OraLobEditor是一款Oracle LOB(CLOB,BLOB)数据类型字段编辑工具,让你快速、高效地进行LOB(CLOB,BLOB)数据类型字段编辑工作。网络上几乎都找不到高版本的破解版了,这个是3.0的了,算是较新版本了,真的是很难得的...
Cursor2LOB 是一组 Oracle PL/SQL 例程,它们创建(或附加到)Oracle CLOB 或 BLOB,这些数据包含来自 Cursor(即来自表或查询)的数据,这些数据采用 CSV 或固定列格式。 此外,还有能够将 CSV 数据写入(或附加)...
11.3 BLOB/CLOB类型数据的操作 11.3.1 如何获取本地数据连接 11.3.2 相关的操作接口 11.3.3 插入Lob类型的数据 11.3.4 以块数据方式读取Lob数据 11.3.5 以流数据方式读取Lob数据 11.4 自增键和行集 11.4.1 自增键的...
oracle dbms_lob 智能大对象(Blob、Clob)
11.3 BLOB/CLOB类型数据的操作 11.3.1 如何获取本地数据连接 11.3.2 相关的操作接口 11.3.3 插入Lob类型的数据 11.3.4 以块数据方式读取Lob数据 11.3.5 以流数据方式读取Lob数据 11.4 自增键和行集 11.4.1 自增键的...