Oracle Char type and Hibernate

后端 未结 2 1015
说谎
说谎 2021-02-19 04:47

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

相关标签:
2条回答
  • 2021-02-19 05:03

    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.

    0 讨论(0)
  • 2021-02-19 05:05

    Doesn't work - fails Hibernate schema validation:

    @Column(name="ENABLED_FLAG", length=1)
    private String enabledFlag;
    

    Does work, since the columnDefinition attribute tells Hibernate not to default to VARCHAR2 as the column type, and to use CHAR instead:

    @Column(name="ENABLED_FLAG", length=1, columnDefinition="CHAR")
    private String enabledFlag;
    

    The column in the database is defined as:

    ENABLED_FLAG CHAR(1 BYTE)
    
    0 讨论(0)
提交回复
热议问题