Postgresql - 如何在 Java 中将 bytea 转换为文本或字符串

chr*_*arx 0 java postgresql serialization bytea

我在 postgres 中有一个 bytea 列,我可以使用这样的语句来获得这种输出:

select encode(mycolumn,'escape') from personTable;
Run Code Online (Sandbox Code Playgroud)

并得到:

254\355\000?sr\000?java.util.HashMap??\332\301\303?`\321?\000?F\000
loadFactorI\000 thresholdxp?@\000\000\000\000\000?w?\000\000\000?\000\000\000?t\000?      
userIdt\000
USER2200000x
Run Code Online (Sandbox Code Playgroud)

我如何以纯文本形式看到它?它确实存储了一个 java.util.HashMap-

rua*_*akh 5

这实际上是 Java 问题而不是 PostgreSQL 问题。personTable.mycolumn保存使用 Java 序列化 API 创建的字节字符串,要检索字节字符串表示的原始对象,您需要使用相同的 API。(有关示例代码,请参阅“发现 Java 序列化 API 的秘密”。)