You may have a bytea column displayed as a binary type of type Hibernate. In java, bytea data is appropriately represented as byte [].
When you install the data, it displays correctly in your PostreSQL 9.0 database.
For instance:
set( [ 1, 2, 0, 1, 255, 0 ] )
Shows a regular SQL query as:
\x010201ff00
When Hibernate calls your java set () program to load data, the data is incorrect. Everything except the first byte is replaced with an ASCII representation of the byte value. Breakpoint in the set () function and observe the Hibernate call with:
set( [ 1, 50, 48, 49, 102, 102, 48 ] )
equivalently
set( [ 1, '2', '0', '1', 'f, 'f', '0' ] )
PostgreSQL 9.0 changed its default output byte from "escape" to "hex". This confuses (at least) hibernation versions up to 9.0.
, postgresql.conf "bytea_output" "hex" "escape", . .
...
bytea_output = 'escape'
...
sql :
\001\002\000\001\377\000
hex , - , Hibernate 3.3.2GA, ?