我使用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);
}
会话工厂配置:
factorybean">
sqlDialectsql">true
sql创建:
CREATE TABLE candidate
(
id serial NOT NULL,cv bytea,...
)
如果它有任何不同,数据库将被编码为UTF-8.
我正在尝试使用org.springframework.jdbc.support.lob.DefaultLobHandler,但它没有做到这一点..任何想法?这让我疯狂..
最佳答案