小编Bhu*_*han的帖子

如何使用JPA从PostgreSQL读取bytea图像数据?

我有PostgreSQL数据库,并且有一个数据类型为'bytea'的列'image'.我无法修改列或数据库配置.JPA带注释的POJO包含跟随映射

@Column(name="image")
private byte[] image;
Run Code Online (Sandbox Code Playgroud)

返回的数据采用以下格式(这只是一个示例)

WF5ClN6RlpLZ0hJTUdNQ1FJWmkwcFVGSUdNQ0lDWUE5TUEvanRFeElwK2x0M2tBQUFBQVNVVk9SSzVDWUlJPQo=
Run Code Online (Sandbox Code Playgroud)

当我将此数据写入文件(.jpeg)时,照片查看器会说"这是损坏的文件".我也理解实际的图像字节数据与上面的示例有所不同.我读了一些博客,提到PostgreSQL将十六进制转换应用于bytea数据.如何在有或没有JPA的情况下将其恢复为原始数据?

数据库 - PostgresSQL版本9.5.1

司机

<dependency>
    <groupId>org.postgresql</groupId>
    <artifactId>postgresql</artifactId>
    <version>9.4-1205-jdbc41</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

java postgresql hibernate jpa bytea

7
推荐指数
3
解决办法
2万
查看次数

获取无法生成DH密钥对例外

当vCenter(5.5)尝试从https服务器下载zip文件时,我收到此异常.VCenter服务器具有JRE 1.6.0.31.我知道Java 1.6和1.7中与相同问题相关的bug.此异常是由 java.security.InvalidAlgorithmParameterException: Prime size must be multiple of 64, and can only range from 512 to 1024 (inclusive).

我可以从https服务器更改SSL证书.我试图通过使用OpenSSL(openssl req -new -x509 -newkey rsa:1024 -days 365 -out server.crt -extensions usr_cert )和其他选项生成新证书来解决此问题.我查看了sun.security.ssl.ClientHandshaker代码,有一个switch case执行以下代码行并生成异常.

case K_DHE_DSS:
case K_DHE_RSA:
    this.serverKeyExchange(new DH_ServerKeyExchange(input, serverKey,
    clnt_random.random_bytes, svr_random.random_bytes,messageLen));
Run Code Online (Sandbox Code Playgroud)

有没有办法生成SSL证书,这将避免此代码执行(可能是没有DH密钥对的SSL证书)?

提前致谢!

java ssl openssl vcenter

0
推荐指数
1
解决办法
8371
查看次数

标签 统计

java ×2

bytea ×1

hibernate ×1

jpa ×1

openssl ×1

postgresql ×1

ssl ×1

vcenter ×1