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

时间:2012-03-17 13:44:53

标签: java postgresql serialization bytea

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

select encode(mycolumn,'escape') from personTable;

并获得:

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

我怎么用纯文本看到这个?它确实存储了一个java.util.HashMap -

1 个答案:

答案 0 :(得分:3)

这实际上是一个Java问题而不是PostgreSQL问题。 personTable.mycolumn持有使用Java Serialization API创建的字节字符串,并且要检索字节字符串表示的原始对象,您需要使用相同的API。 (有关示例代码,请参阅"Discover the secrets of the Java Serialization API"。)