Re: hibernate nativequery and uuid

From: Andrew <archa(at)pacific(dot)net(dot)au>
To: "A(dot)M(dot)" <agentm(at)themactionfaction(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: hibernate nativequery and uuid
Date: 2008-07-31 23:22:42
Message-ID: 48924942.3000003@pacific.net.au
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Oh, I see what you mean. Use EJBQL on a view. That would probably
work. Have to get going, so will try that when I get back in several
hours. I'll let you know how I go.

Andrew wrote:
> I have given it consideration, but haven't tried it as I have
> concluded that I would still have the same issue. The problem occurs
> with the client attempting to apply a UUID value to filter the result
> set. So I would still have a datatype mismatch if I were to use a view.
>
> I am confident that I can get it to work if I were to remove Hibernate
> and make a direct JDBC call, as I have tested that approach
> previously. That is a fall back position. But I would like if I can
> to keep to a single approach with my DB access for this application if
> I can.
>
> The suggestion was appreciated though.
>
>
>
> A.M. wrote:
>>
>> On Jul 31, 2008, at 5:57 PM, Andrew wrote:
>>
>>> I'm currently using JPA with Hibernate as my ORM and have been able
>>> to convince hibernate to play nicely with the Postgresql UUID. Most
>>> of my queries have been in EJBQL using the JPA entity manager's
>>> createQuery. However when I try to do a UNION, JPA only returned
>>> the results of the first query, and ignored the other UNION queries,
>>> which is in line with what I have read online, in that JPA does not
>>> support UNIONS.
>>> So I'm currently attempting to go via a createNativeQuery call. The
>>> keys on the target tables are PostgreSQL UUID data types. When
>>> doing so I get the following error:
>>>
>>> org.postgresql.util.PSQLException: ERROR: operator does not exist:
>>> uuid = character varying
>>>
>>> The only relevant thing I have been able to find relating to it is
>>> http://archives.postgresql.org/pgsql-bugs/2007-12/msg00061.php which
>>> suggests adding a ::uuid cast to the parameter.
>>>
>>> However, when doing that, hibernate thinks that it is a named
>>> parameter and complains.
>>> org.hibernate.QueryException: Not all named parameters have been set
>>>
>>> Hibernate's functionality to declare an escape character for a LIKE
>>> clause does not apply to this. But in attempting to escape the
>>> colons, getting various other hibernate parsing errors, so my
>>> attempts down this path has not been of help.
>>>
>>> Has anyone else run into this issue and been able to resolve it?
>>>
>>> I'm using Postgresql 8.3.3 on Windows XP, Hibernate 3.2.6.GA and the
>>> Postgresql 8.3-603 JDBC4 driver.
>>
>> Could you use a view to hide the UNION?
>>
>> Cheers,
>> M
>>
>> No virus found in this incoming message.
>> Checked by AVG - http://www.avg.comVersion: 8.0.138 / Virus Database:
>> 270.5.8/1582 - Release Date: 7/30/2008 6:37 PM
>>
>>
>>
>
>

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2008-08-01 01:37:39 Re: eliminating records not in (select id ... so SLOW?
Previous Message Andrew 2008-07-31 23:10:22 Re: hibernate nativequery and uuid