The following bug has been logged online:

Bug reference:      6241
Logged by:          Stefan Franke
Email address:      ste...@franke.ms
PostgreSQL version: 9.1
Operating system:   any
Description:        JDBC: blob doesnot work with bytea
Details: 

To persist a blob you can also use bytea. Unfortunately the JDBC driver does
not support this.

Especially if you can't control the way how the column is accessed, e.g.
using JPA

    @Lob
    @Column(name = "DATA") // using bytea 
    private byte[] data;

it fails with distinct JPA implementations (e.g. Hibernate) since the JPA
layer tries to access it as blob.

My workaround is to patch the class org.postgresql.jdbc4.Jdbc4ResultSet:

    public java.sql.Blob getBlob(int i) throws SQLException
    {
        checkResultSet(i);
        if (wasNullFlag)
            return null;

        try {
            return new Jdbc4Blob(connection, getLong(i));
        } catch (PSQLException ex) {
            // bytea use a dummy Blob
            return new SerialBlob(getBytes(i));
        }
    }

-- 
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

Reply via email to