Malo by fungovať aj toto:
@Basic
@Column(columnDefinition = "VARGRAPHIC(20)")
public String getMyColumn() {
return mycolumn;
}
> Jak je to jednoduche... :-)
>
> mp.
>
>
>
> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Pavel Réder
> Sent: Wednesday, May 07, 2008 10:39 AM
> To: Java
> Subject: Re: Hibernate + DB2 + VARGRAPHIC
>
> Tak, tak. Deklarace VARCHAR(20) v DB2 ve skutečnosti znamená VARCHAR(20
> Byte) -
> podobně se chová i Oracle 10, ale tam lze implicitně nastavit, že to má být
> VARCHAR(20 Char) a tím je to vyřešeno. Jestli to lze u DB2 nevím, my jsme to
> kdysi vyřešili trochu zběsilým způsobem - když se nám nepodařilo Hibernate
> donutit, aby vygeneroval db schéma s takovými exotickými typy, provedli jsme
> v
> ant buildu tohle:
>
> <replace dir="${hib.dir}">
> <include name="database-schema.sql" if="database.db2"/>
> <replacetoken>char</replacetoken>
> <replacevalue>graphic</replacevalue>
> </replace>
>
> Kde database.db2 je vstupní parametr při spouštění buildu.
> Mmnno... co dodat - zkrátka je to časově efektivní řešení, které funguje a
> datový typ VARGRAPHIC se opravdu chová očekávaným způsobem. Ani bych jej
> nenazval alternativním, protože ona ta DB2 je celá jaksi... ;-)
>
> Pavel
>
> > Dobry den,
> >
> > na projektu pouzivame databazi DB2 a O-R mapovani Hibernate.
> >
> > Databaze je kvuli lokalizaci nastavena na kodovani UTF-8.
> >
> > Narazili jsme na problem, ktery se tyka delky textovych sloupcu.
> > Kdyz v DB2 pouzijete u databaze v UTF-8 typ VARCHAR(20), neznamena to,
> > ze do sloupce zapisete nejvyse 20 libovolnych znaku, nybrz 20 ASCII-znaku.
> >
> > Pokud tedy nekdo do sloupce zkusi zapsat text s hacky a carkami,
> > ktery bude mit celkem 20 znaku, uz se mu to nepodari, protoze
> > cast delky zabraly vice-bajtove znaky.
> >
> > Tento problem znemoznuje rozumnou validaci vstupu.
> > Nelze se totiz ridit pouhou delkou textu, ale je treba brat v uvahu
> > delku po konverzi do ciloveho kodovani (UTF-8).
> > Z pohledu uzivatele je to katastrofa.
> >
> > Jako mozne reseni se nabizi pouziti alternativnich datovych typu DB2:
> > GRAPHIC, VARGRAPHIC, ktere se jiz zrejme chovaji "normalne".
> >
> > Pro zajemce strucny popis zde:
> > http://www.ispirer.com/doc/sqlways38/Output/SQLWays-1-090.html
> >
> > Neni mi moc jasne, jak spravne nastavit Hibernate, aby tyto typy pouzivalo.
> > Take bych rad vedel, zda s pouzitim VARGRAPHIC nemate nekdo zkusenosti.
> > Jestli se nekde neskryva jeste nejaky dalsi zadrhel.
> >
> > Diky
> > mp.
>
>
>