Обсуждение: BUG #6241: JDBC: blob doesnot work with bytea
The following bug has been logged online:
Bug reference: 6241
Logged by: Stefan Franke
Email address: stefan@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));
}
}
On Thu, Oct 6, 2011 at 4:26 AM, Stefan Franke <stefan@franke.ms> wrote: > > The following bug has been logged online: > > Bug reference: =A0 =A0 =A06241 > Logged by: =A0 =A0 =A0 =A0 =A0Stefan Franke > Email address: =A0 =A0 =A0stefan@franke.ms > PostgreSQL version: 9.1 > Operating system: =A0 any > Description: =A0 =A0 =A0 =A0JDBC: blob doesnot work with bytea > Details: > > To persist a blob you can also use bytea. Unfortunately the JDBC driver d= oes > not support this. I think you'll need to raise this issue on the pgsql-jdbc mailing list, as this list is only for bugs in the core distribution. --=20 Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company