当前位置: 首页 > 面试题库 >

Hibernate Postgres Bytea检索问题

壤驷承
2023-03-14
问题内容

我正在使用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’;



 类似资料:
  • 问题内容: 我正在尝试使用AFNetworking检索一些JSON数据。 我的服务器组件(PHP / ZendFramework)提供以下响应: 我尝试使用以下代码检索此json数据: 在模拟器中运行时,控制台显示以下输出: 任何关于我做错事情的提示都将不胜感激:)我尝试访问Twitter API,并且工作得很好… 问题答案: 这很令人困惑,我一直在努力寻找如何更好地正确记录/设计文档的方法,但是

  • https://en.wikipedia.org/w/api.php?action=query 摘录是一个空字符串

  • 因此,对于第一次迭代,我将样例质心文件放在分布式缓存中,使用 在下一次迭代中,我将获取again_input目录,该目录与第一次迭代的输出相同,其中存储了新计算的质心 然而,映射器再次获取它在第一次迭代中获取的质心文件。 下面是在mapper类中提取质心文件的代码: 疑问1:分布式缓存是否会在作业完成后清除所有文件,还是保留这些文件?例如,centroid.txt在迭代1后被清除。 疑点2:我访问

  • 正在尝试使用证书通过AD身份验证检索KeyVault机密。 创建KeyVault所引用的文档 代码失败 var result=等待上下文。AcquireTokenAsync(资源、断言专家) 包含:"密钥集不存在" 有时“指定的提供程序类型无效”发生错误,不确定问题出在哪里。

  • 06-17 00:24:15.973 286 6-2907/azanmute.android.com.azanmute W/system.err:org.json.jsonException:java.lang.String类型的值不能转换为JSONObject 06-17 00:24:15.973 286 6-2907/azanmute.android.com.azanmute W/system

  • 问题内容: 我正在使用JSch连接到SSH并执行命令。其中一个命令给出了很大的输出。在终端中,如果执行命令,则必须按Enter键才能查看整个输出。使用JSch,我无法检索整个输出。 当我使用交互式终端登录时,命令输出在填充屏幕后停止并等待。 该代码取自 如何在String中获取jschshell命令输出: 问题答案: 通常,您不应使用“ shell”通道来自动执行命令。 “外壳”通道旨在实现交互式