Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Oracle Char type and Hibernate

I have a oracle table which contains char(n) type for several columns. I use hibernate tools to create entities objets and this tool map char type in String.

But when I deploy my application, I get an error because Hibernate wait a varchar2 type and not a char type:

Wrong column type in ARBOR.CMF for column CHG_WHO. Found: char, expected: varchar2(30 char)

What kind of java type must I use to map char(n) type in an entity ?

Thanks.

like image 578
Kiva Avatar asked Aug 20 '10 10:08

Kiva


1 Answers

There's some useful information here on this blog entry.

Essentially you need to make your hibernate configuration more specific, as it's assuming a default String mapping to varchar2(30).

You can try using the database-agnostic annotation of @Column(length=N) (where N is the actual length of your column in the database). If that doesn't work, try using the @Column(columnDefinition = "char") approach.

like image 109
stark Avatar answered Sep 20 '22 09:09

stark