Lists: | pgsql-bugs |
---|
From: | Dean Schulze <dschulze(at)knowledgefactor(dot)com> |
---|---|
To: | "pgsql-bugs(at)postgresql(dot)org" <pgsql-bugs(at)postgresql(dot)org> |
Subject: | JDBC Driver can't read UUID from database |
Date: | 2012-06-05 23:26:53 |
Message-ID: | CBF3F1DC.2E8%dschulze@knowledgefactor.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-bugs |
I'm using Hibernate (3.6 and 4.0) with Postgresql 9.1. Our tables have UUIDs in them and your driver is trying to convert UUIDs to longs:
Caused by: org.postgresql.util.PSQLException: Bad value for type long : dbada1e4-a165-4601-b34e-d08428cd81df
at org.postgresql.jdbc2.AbstractJdbc2ResultSet.toLong(AbstractJdbc2ResultSet.java:2796)
at org.postgresql.jdbc2.AbstractJdbc2ResultSet.getLong(AbstractJdbc2ResultSet.java:2019)
at org.postgresql.jdbc4.Jdbc4ResultSet.getBlob(Jdbc4ResultSet.java:52)
at org.postgresql.jdbc2.AbstractJdbc2ResultSet.getBlob(AbstractJdbc2ResultSet.java:335)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.hibernate.engine.jdbc.internal.proxy.AbstractResultSetProxyHandler.continueInvocation(AbstractResultSetProxyHandler.java:104)
... 32 more
I've tried chaining the Hibernate annotations to treat them as Strings and CLOBs but I get the same exception.
Driver versions I've tried are 9.0-801.jdbc4 and 9.1-901.jdbc4
This is a show stopper.
From: | Kris Jurka <books(at)ejurka(dot)com> |
---|---|
To: | Dean Schulze <dschulze(at)knowledgefactor(dot)com> |
Cc: | "pgsql-bugs(at)postgresql(dot)org" <pgsql-bugs(at)postgresql(dot)org> |
Subject: | Re: JDBC Driver can't read UUID from database |
Date: | 2012-06-06 08:12:56 |
Message-ID: | alpine.BSO.2.00.1206060409230.12129@leary.csoft.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-bugs |
On Tue, 5 Jun 2012, Dean Schulze wrote:
>
> I'm using Hibernate (3.6 and 4.0) with Postgresql 9.1. Our tables have
> UUIDs in them and your driver is trying to convert UUIDs to longs:
>
This is a hibernate mapping problem, not a JDBC Driver problem. If you
have a plain ResultSet and call getString() on a UUID field, it will
certainly work. Mapping the UUID to BLOB or CLOB is incorrect. I'm not
sure why your attempt to map it to a String didn't work, but you are
not convincing Hibernate to use a plain getString call.
Kris Jurka
From: | Dean Schulze <dschulze(at)knowledgefactor(dot)com> |
---|---|
To: | Kris Jurka <books(at)ejurka(dot)com> |
Cc: | "pgsql-bugs(at)postgresql(dot)org" <pgsql-bugs(at)postgresql(dot)org> |
Subject: | Re: JDBC Driver can't read UUID from database |
Date: | 2012-06-11 02:43:47 |
Message-ID: | 285378F79EC333408F3AAE73259CCD40626D6C@mbx024-w1-ca-5.exch024.domain.local |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-bugs |
Thanks.
Out of curiosity why didn't the driver map the Postgresql UUID to a Java
UUID?
On 6/6/12 2:12 AM, "Kris Jurka" <books(at)ejurka(dot)com> wrote:
>
>
>On Tue, 5 Jun 2012, Dean Schulze wrote:
>
>>
>> I'm using Hibernate (3.6 and 4.0) with Postgresql 9.1. Our tables have
>> UUIDs in them and your driver is trying to convert UUIDs to longs:
>>
>
>This is a hibernate mapping problem, not a JDBC Driver problem. If you
>have a plain ResultSet and call getString() on a UUID field, it will
>certainly work. Mapping the UUID to BLOB or CLOB is incorrect. I'm not
>sure why your attempt to map it to a String didn't work, but you are
>not convincing Hibernate to use a plain getString call.
>
>Kris Jurka
From: | Kris Jurka <books(at)ejurka(dot)com> |
---|---|
To: | Dean Schulze <dschulze(at)knowledgefactor(dot)com> |
Cc: | "pgsql-bugs(at)postgresql(dot)org" <pgsql-bugs(at)postgresql(dot)org> |
Subject: | Re: JDBC Driver can't read UUID from database |
Date: | 2012-06-11 21:28:07 |
Message-ID: | alpine.BSO.2.00.1206111726250.17050@leary.csoft.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-bugs |
On Mon, 11 Jun 2012, Dean Schulze wrote:
> Out of curiosity why didn't the driver map the Postgresql UUID to a Java
> UUID?
>
The example I gave of calling getString must return a String and not
another type. With a recent JDBC Driver and Java version, calling
getObject will return a UUID object.
Kris Jurka