Thread: Statement setNull for Types.CLOB
Hello, I'm using PostgreSQL 8 and the 310 build of the 8.0 JDBC3 driver with Hibernate. For 'text' columns in my database, I had mapped them to the Hibernate "text" type. When attempting to set the value of a text column to 'null' via a PreparedStatement Hibernate calls setNull() passing the Types.CLOB as the SQL type. The Postgres driver is throwing an exception, however, saying that type is unknown. I can easily change the Hibernate mapping to "string", which would change the SQL type passed to setNull() to Types.VARCHAR, but I was wondering if Types.CLOB should be a supported value in the setNull() JDBC method? I realize it might not be correct to think of the PostgreSQL text type as a CLOB, so I just wanted some insight on this issue if possible. Thanks,
On Fri, 18 Feb 2005, Matt Magoffin wrote: > Hello, I'm using PostgreSQL 8 and the 310 build of the 8.0 JDBC3 driver > with Hibernate. For 'text' columns in my database, I had mapped them to > the Hibernate "text" type. When attempting to set the value of a text > column to 'null' via a PreparedStatement Hibernate calls setNull() passing > the Types.CLOB as the SQL type. The Postgres driver is throwing an > exception, however, saying that type is unknown. > This problem was just reported for bytea/BLOB here: http://archives.postgresql.org/pgsql-jdbc/2005-02/msg00115.php The same situation applies, I've fixed the setNull call to do something, but again CLOB really maps to the oid datatype in pg, not text. Kris Jurka
On Fri, 18 Feb 2005, Kris Jurka wrote: > On Fri, 18 Feb 2005, Matt Magoffin wrote: >> Hibernate calls setNull() passing >> the Types.CLOB as the SQL type. The Postgres driver is throwing an >> exception, however, saying that type is unknown. > > I've fixed the setNull call to do something, > but again CLOB really maps to the oid datatype in pg, not text. I just encountered the same problem with setObject in postgresql-8.0-311.jdbc3.jar, btw. I don't understand the bit about oid, so I guess I will use Types.VARCHAR unless instructed otherwise. -Kevin Murphy