Re: [HACKERS] JPA + enum == Exception

From: Andreas Joseph Krogh <andreak(at)officenet(dot)no>
To: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: [HACKERS] JPA + enum == Exception
Date: 2013-07-05 09:21:17
Message-ID: OrigoEmail.925.90efc08f02ee47a3.13fae200537@prod2
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers pgsql-jdbc

<div>På fredag 05. juli 2013 kl. 09:51:03, skrev Tom Dunstan &lt;<a href="mailto:pgsql(at)tomd(dot)cc" target="_blank">pgsql(at)tomd(dot)cc</a>&gt;:</div>

<blockquote style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div dir="ltr">On 9 February 2013 02:56, Kris Jurka <span dir="ltr">&lt;<a href="mailto:books(at)ejurka(dot)com" target="_blank">books(at)ejurka(dot)com</a>&gt;</span> wrote:

<div class="gmail_extra">
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div class="im"><span style="color:rgb(34,34,34)">The other workaround is to use the url parameter stringtype=unspecified to</span></div>
have setString always bind to unknown instead of varchar, which then<br>
shouldn't require any code changes.</blockquote>

<div> </div>

<div style="">I just tried this with a new project using hibernate and postgres with an enum type . Unfortunately, the hibernate (3.6) enum type calls setObject(pos, value, Types.VARCHAR) rather than calling setString(pos, value), and that doesn't respect the stringtype property.</div>

<div style=""> </div>

<div style="">What's the feeling here - should setObject(Types.VARCHAR) respect stringtype=unspecified? I don't know whether there are semantic differences between setString() and setObject(Types.VARCHAR) to know if that's naughty or not. It seems like the only way for me to use this version of hibernate with pgsql enums is to either change the driver or implement a custom user type and configure it everywhere. :(</div>

<div style=""> </div>

<div style="">Happy to whip up a patch if there's consensus to change the driver.</div>

<div style=""> </div>

<div style="">Cheers</div>

<div style=""> </div>

<div style="">Tom</div>
</div>
</div>
</div>
</blockquote>

<div> </div>

<div>I've been using Hibernate for years with mapping Enums to varchar-columns which works fine. Remember to map them with</div>

<div> </div>

<div>@Column(name = &quot;column_name&quot;)</div>

<div>@Enumerated(EnumType.STRING)</div>

<div>private MyEnum enum = &lt;stuff&gt;</div>

<div> </div>

<div class="origo-email-signature">--<br>
Andreas Joseph Krogh &lt;andreak(at)officenet(dot)no&gt;      mob: +47 909 56 963<br>
Senior Software Developer / CTO - OfficeNet AS - http://www.officenet.no<br>
Public key: http://home.officenet.no/~andreak/public_key.asc</div>

<div> </div>

Attachment Content-Type Size
unknown_filename text/html 2.4 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Dunstan 2013-07-05 09:47:22 Re: [HACKERS] JPA + enum == Exception
Previous Message Michael Meskes 2013-07-05 09:16:44 Re: [9.3 bug fix] ECPG does not escape backslashes

Browse pgsql-jdbc by date

  From Date Subject
Next Message Tom Dunstan 2013-07-05 09:47:22 Re: [HACKERS] JPA + enum == Exception
Previous Message Tom Dunstan 2013-07-05 07:51:03 Re: [HACKERS] JPA + enum == Exception