我有一个Oracle表,其中包含几列的char(n)类型。我使用hibernate工具创建实体对象,此工具在String中映射char类型。
但是,当我部署应用程序时,我收到一个错误,因为Hibernate等待varchar2类型而不是char类型:
Wrong column type in ARBOR.CMF for column CHG_WHO. Found: char, expected: varchar2(30 char)
我必须使用哪种Java类型来映射实体中的char(n)类型?
谢谢。
此博客条目上有一些有用的信息。
从本质上讲,您需要使hibernate配置更加具体,因为它假设默认的String映射到varchar2(30)。
您可以尝试使用@Column(length = N)的与数据库无关的注释(其中N是数据库中列的实际长度)。如果那不起作用,请尝试使用@Column(columnDefinition =“ char”)方法。