加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

hibernate – Spring,Blob下载,byte []大小增加两倍

发布时间:2020-12-15 01:45:15 所属栏目:大数据 来源:网络整理
导读:我使用Spring 3.0与Hibernate和PostgreSQL,我有以下问题: 我正在将文件上传到数据库,保存其内容类型,一切正常,数据库中字段的大小正常.但是当我尝试下载它时,Hibernate会返回两倍大小的字节数组.下载的文件当然已损坏.大小比数据库中的大小大两倍我的代码如

我使用Spring 3.0与Hibernate和PostgreSQL,我有以下问题:
我正在将文件上传到数据库,保存其内容类型,一切正常,数据库中字段的大小正常.但是当我尝试下载它时,Hibernate会返回两倍大小的字节数组.下载的文件当然已损坏.大小比数据库中的大小大两倍……我的代码如下:
字段域类(带映射):

private byte[] cv;

@Column(name="cv")
public byte[] getCv() {
  return this.cv;
}

加载对象的DAO函数:

public Candidate load(Integer id) {
  return (Candidate) getHibernateTemplate().get(Candidate.class,id);
}

会话工厂配置:

SQL创建:

CREATE TABLE candidate
(
  id serial NOT NULL,cv bytea,...
)

如果它有任何不同,数据库将被编码为UTF-8.
我正在尝试使用org.springframework.jdbc.support.lob.DefaultLobHandler,但它没有做到这一点..任何想法?这让我疯狂..

最佳答案
找到解决方案,更改bytea输出的数据库设置,如下所示:

ALTER DATABASE SET bytea_output =’escape’;

奥斯卡.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读