标准的hibernate存取blob和clob字段的方法

Hibernate存储Clob字段的方式总结 介绍了利用Hibernate将一个长字符串转换为流存储至Clob字段中,然后再从Clob字段中读出来,转换为字符串输出的方式 立即下载
昨在颇为郁闷,利用hibernate保存图片到 blob字段时出现保存成功,但读出来的确是空数据的问题;

但回家一试,竟然是OK的,不知哪个环节出了问题,但总算是圆满结局~
程序代码 程序代码

Transaction tx=session.beginTransaction();
byte[] b=new byte[1024];
img.setTitle(title);
img.setAdddate(new Date());
img.setImage(Hibernate.createBlob(b));
img.setComments(Hibernate.createClob(" "));
session.save(img);
session.flush();
session.refresh(img, LockMode.UPGRADE);

SerializableBlob sb = (SerializableBlob)img.getImage();
java.sql.Blob wrap blob = sb.getWrappedBlob(); 
oracle.sql.BLOB  blob = ( oracle.sql.BLOB) wrap blob; 

SerializableClob sc=(SerializableClob)img.getComments();
java.sql.Clob wrapclob=sc.getWrappedClob(); 
oracle.sql.CLOB clob=( oracle.sql.CLOB)wrapclob; 

java.io.Writer pw=clob.getCharacterOutputStream();
pw.write(content);
pw.close();

java.io.InputStream inStream = new java.io.FileInputStream(path+"/"+newFileName);
byte[] bytes = new byte[fileSize];
java.io.OutputStream outStream =  blob.getBinaryOutputStream();
inStream.read(bytes);
outStream.write(bytes);
outStream.flush();
outStream.close();
tx.commit();
session.close();


hibernate保存blob,clob对象 NULL 博文链接:https://sxpujs.iteye.com/blog/368960 立即下载

相关推荐

spring+hibernate 解决大字段(clob)

是我自己验证过的 用的是oracle10数据库 文件里面有具体的配置。

spring+hibernate保存blob字段

首先在spring的配置文件中加入以下代码: <bean id="lobHandler" class="org.springframework.jdbc.support.lob.DefaultLobHandler" lazy-init="true"> 并且将lobHandler加入到SessionFactory中去,即在 <bean id="mySessionFactory" c...

tcrct 334

YOLOv11多模态融合实战:基于YOLOFuse的RGB与红外线(IR)协同检测技术解析

本文深入解析了基于YOLOv11的YOLOFuse多模态融合技术,重点探讨了RGB与红外线(IR)协同检测的实现原理与实战应用。文章详细介绍了双流架构与数据级、特征级、决策级三种融合策略,并通过实战案例展示了其在低光照、复杂环境下显著提升检测精度与鲁棒性的优势,为全天候安防、自动驾驶等场景提供了有效的技术解决方案。

weixin_29041195的博客 650

收藏一个关于数据库存储BLOB类型数据的方法

原贴地址:http://www.cnblogs.com/yony/p/3254669.html Oracle数据库对应字段BLOB类型,实体对应字节数组类型(byte[]、@Type(type="org.springframework.orm.hibernate3.support.BlobByteArrayType"))。 一、存 1、把数据列表(List),放入Ma

ZNG_XP的博客 4235

别再为CAD和GIS数据对不上而头疼了!一份完整的ArcGIS for AutoCAD坐标系定义与数据套合指南

本文详细介绍了如何通过ArcGIS for AutoCAD插件解决CAD与GIS数据坐标系不匹配的问题,实现数据的精准套合。文章从坐标系冲突分析、插件核心功能解析到五步标准化工作流,提供了完整的解决方案,帮助工程师和设计师提升跨平台协作效率。

weixin_42531886的博客 216

Python量化交易实战:如何用pytdx库快速解析通达信.day文件(附完整代码)

本文详细介绍了如何使用Python的pytdx库高效解析通达信.day本地数据文件,构建免费、稳定的量化交易数据源。文章提供了从环境配置、基础数据读取、复权处理到板块信息获取的完整实战代码,并演示了如何将处理后的数据无缝接入Backtrader等回测框架,为量化策略开发提供可靠的数据基础。

ppp33的博客 1144

hibernate oracle blob,Hibernate3操作Oracle的Blob字段

Hibernate3操作Oracle的Blob字段hibernate作为一个优秀的OR-Mapping构架,对数据库的基本操作进行了比较好的封装,针对Blob类型字段的操作也不例外。但网上大部分能找到的hibernate操作Blob的例程都是基于hibernate2版本的,同时在实际操作中我发现针对不同的数据库,可以有不同的操作方法。下面将hibernate3操作oracle的Blob字段进行一个...

weixin_35628777的博客 456

记录rk3588 在Linux 6.1内核版本声卡 bug。

rk3588 Audio bug

Yongheng6的博客 855

(转)Hibernate 3保存BOLB的方法,mysql(Hibernate4不适合此法)

Tutorial:Saving/Retreving BLOB object in Spring 3 MVC and Hibernate by Viral Patel · January 11, 2011     Working with BLOB / CLOB data types in database is sometime a trivial task. I found ...

tamink2013的博客 233

开源GIS -- 笔记

基础开发库 数据读写:GDAL/OGR(C/C++) ArcGIS和GE都是使用此工具 投影转换:Proj.4(C/C++) 拓扑计算:JTS(Java),GEOS(C++),Shapely(python) 组件式开发库 GeoTools(Java),DotSpatial(.NET) 空间分析: Scipy(通用科学计算、方程求解), numpy,NextworkX, rPy(统计分析), Scikit-learn,pysal(空间分析) 深度学习: Keras、 tensorflow、 pytor

DZ Space 4521

【WRF模拟】保存wrf输出文件到指定目录+仅输出指定空间域/变量文件

修改wrf命令以更改指定输出文件目录等

WW、forever的博客 544

JDBC+Hibernate将Blob数据写入Oracle

    Oracle的Blob字段比较特殊,他比long字段的性能要好很多,可以用来保存例如图片之类的二进制数据。   写入Blob字段和写入其它类型字段的方式非常不同,因为Blob自身有一个cursor,你必须使用cursor对blob进行操作,因而你在写入Blob之前,必须获得cursor才能进行写入,那么如何获得Blob的cursor呢?  这需要你先插入一个empty的blob,这将创建一

键者天行 5717

从“点云”到“图像”:华为896线激光雷达的技术飞跃与行业影响浅析

华为发布全球首款896线双光路激光雷达,实现车载感知从"3D点云"到"3D成像"的跨越。该产品采用创新双光路架构,集成广角和长焦单元,单帧点云量达128线产品的7倍,可在55米外识别小狗摇尾巴等细节。实测数据显示,其能识别120米外14厘米低矮障碍物,夜间低反射率目标识别距离提升190%。尽管速腾聚创随后发布更高线数产品,但华为强调实用性和量产可行性,成本仅增加1-2万元。这一突破标志着激光雷达进入大规模应用阶段,将加速高阶智驾功能普及,强化华为在智能汽车领域的技术底

致力于lidar应用开发 212

hibernate annoation (四 lob)

hiberante sql映射对应   Java数据类型 Hibernate数据类型 标准SQL数据类型(PS:对于不同的DB可能有所差异) byte、java.lang.Byte byte TINYINT short、java.lang.Short short SMALLINT int、java.lang.Integer integer INGEGER...

咖啡妆 137

DirectX function “GetDeviceRemovedReason“ failed with DXGI_ERROR_DEVICE_HUNG (“The GPU will not resp

游戏报错"DXGI_ERROR_DEVICE_HUNG"的解决方案 在使用RTX 40系显卡运行FIFA 23等游戏时,可能出现DirectX报错导致游戏崩溃。这主要由于最新显卡驱动与DirectX 12的兼容性问题。解决方法包括: 降级显卡驱动版本 修改游戏配置文件,将DIRECTX_SELECT设为1 在显卡控制面板中关闭垂直同步、抗锯齿、DLSS 3等功能 调整电源模式为性能优先 这些操作可以有效解决因驱动兼容性导致的游戏崩溃问题。

猿小白的博客 3891

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Hibernate的映射类型 hibernate mysql映射类型

1、Hibernate的映射类型 hibernate mysql映射类型 Hibernate 映射类型Java 类型标准 SQL 类型大小和取值范围integer 或者 intint 或者 java.lang.IntegerINTEGER4 字节longlong  LongBIGINT8 字节short

必应@珠峰 2577

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

hibernate的映射类型

hibernate的映射类型 hibernateMySQL映射类型 1、Hibernate的映射类型 hibernate mysql映射类型 Hibernate 映射类型 Java类型 标准 SQL 类型 大小和取值范围 integer 或者 int int 或者 java.lang.Integer ...

angcong3485的博客 215

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Hibernate3.3 教程

原文链接自:http://hi.baidu.com/suny_duan/blog/item/9eb1211a4c9027158718bf10.html1.重Annotation,轻xml配置文件;Annotation分为:JPA,hibernate-extension官方网站:http://www.hibernate.org/hibernate使用的是SLF4J日志(它可以匹配各种各样的LOG,如log4j等)它的下载包中会再带一个slf4j-api-1.5.8.jar,除此之外还需要一个slf4j-nop

木南飘香 2195

JAVA面试题(1~95)《上》

1、面向对象的特征有哪些方面?  答:面向对象的特征主要有以下几个方面:  - 抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么。  - 继承:继承是从已有类得到继承信息创建新类的过程。提供继承信息的类被称为父类(超类、基类);得到继承信息的类被称为子类(派生类)。继承让变化中的软件系统有了一定的延续性...

ywl470812087的博客 4964

Hibernate往oracle数据中插入blob类型的文件

Blob类型是一个二进制格式的类型。 http://baike.baidu.com/link?url=Qsh_DL70A6q2CDvAmAx3l66XgwwjAX63wmiEYN1CPqtaxg1AesIv2gpZ_oY5QM4sp-BPo5p14-tTdViz5E8kT_ 通过hibernate我们可以将输入流转换转换成java.sql.Blob类型对象。 具体如下: [...

···· 408

Clob和Blob对象的存取

作为测试,我们新建一个TUser对象,其image属性中,保存了一个图片文件的二进制内容。而其resume属性,我们以一个简单的字符串作为填充。    1 TUser user  = new  TUser(); 

性格决定命运,专注影响成败 1002

java 上传文件到 oracle blob,JAVA通过Hibernate将文件写入ORACLE数据的BLOB字段 代码示例...

//将文件写入字节数组,可以将BOLB对应的实体类映射为字节数组类型,如下:映射文件:…………//设置对应的映射type为binary 就可以存储字节数组…………对应的实体类:public class FileBean {…………private byte[] fileContent; //直接映射为byte[]…………}struts.xmlsuccess,messagetext/htmlJA...

weixin_34333092的博客 264

hibernate保存ORACLE的blob,clob

[code="java"]1、首先数据表中的clob类型对应java持久化类的String类型;而blob类型对应byte[]类型。 2、定义hibernate标签时,持久化类中对应clob类型的属性的hibernate type应为text;而对应blob类型的属性的hibernate type应为binary。 3、以后访问这些对应clob和blob类型的属性时,按普通属性处...

langhua9527的专栏 281

用Hibernate存储clob

  前提:oracle中用一个clob字段。hbm.xml中对应的是java.sql.Clob/ ? ? <property name="answer" type="java.sql.Clob" update="true" insert="true" ...

nana_qq的专栏 379

Hibernate读写Clob和Blob类型字段

数据库脚本: create table testcb(id varchar(32) primary key,name varchar(32),photo blob,description text);  Hibernate.cfg.xml             "-//Hibernate/Hibernate Configuration DTD 3.0//EN"

u011905238的专栏 1008
上一篇: 从数据库中读取blob字段并生成图片文件
下一篇: 小试jfreeChart
spring028
博客等级 码龄19年 4粉丝 71原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值