我在tomcat 6.0.32 x64中部署了一个Web应用程序,它使用Hibernate 3.0连接Postgres 9.0 x64数据库。
该应用程序在数据库中保存二进制字段,当我找到它时,它是不同的。
二进制保存: [-82,120,71,23,-88,67,36,30,57,-72,42,29,-64,93,-8,-103,-63,124,66,20]
二进制获得: [-67,55,56,52,55,49,55,97,56,52,51,50,52,49,101,51,57,98,56,50,97,49,100,99, 48,53,100,102,56,57,57,99,49,55,99,52,50,49,52]
由于
答案 0 :(得分:0)
你没有提供足够的细节,但是我会想到你会在某些时候将字节翻译成字符(你的输出看起来大约是输入的两倍,java字符是2字节)。 bytes!= chars。
否则,它可能与流的错误使用有关。
答案 1 :(得分:0)
检查你的postgres jdbc驱动程序版本。它应该至少与您的数据库服务器一样新,因此您需要9.0或更高的驱动程序。
我相信在9.0中改变了bytea有线格式,如果你有一个旧驱动程序,这可以解释这个问题。