Hibernate Postgres Bytea检索问题
我正在使用Hibernate 4.0将jpegs存储到postgres
9.1.4中(jdbc是postgresql-9.1-901.jdbc4.jar)bytea列(byte
[]是hibernate实体,没有额外的类型def)。
hibernate存储过程工作正常,因为我可以使用数据库工具来转储bytea列并仍然获取jpeg。基本上是:
在managedBean中
byte [] bytes;bytes = IOUtils.toByteArray(file.getInputstream());
entity.setImage(bytes);
此时,字节看起来像[-1,-40,-1,-32、0、16、74、70,…]
但是,问题始于我通过hibernate检索。数据似乎以某种方式被修改或损坏。
byte [] bytes;bytes = entity.getImage();
此时,字节变为[-26、100、56、102、102、101、48、48,…]
hibernate的吸气剂是
@Column(name = "image")public byte[] getImage() {
return image;
}
感谢任何人都可以提供帮助,谢谢!
回答:
在postgresql.conf中更改bytea_output =’escape’
或运行这个
ALTER DATABASE dbname SET bytea_output为’escape’;
以上是 Hibernate Postgres Bytea检索问题 的全部内容, 来源链接: utcz.com/qa/397549.html