我有一个 oracle 表,其中包含多个列的 char(n) 类型。我使用 hibernate 工具创建实体对象,此工具将 char 类型映射到字符串中。
但是当我部署我的应用程序时,我得到一个错误,因为 Hibernate 等待 varchar2 类型而不是 char 类型:
Wrong column type in ARBOR.CMF for column CHG_WHO. Found: char, expected: varchar2(30 char)
我必须使用哪种 java 类型来映射实体中的 char(n) 类型?
谢谢。
最佳答案
这里有一些有用的信息on this blog entry.
本质上,您需要使您的 hibernate 配置更具体,因为它假定默认的字符串映射到 varchar2(30)。
您可以尝试使用 @Column(length=N) 的数据库不可知注释(其中 N 是数据库中列的实际长度)。如果这不起作用,请尝试使用 @Column(columnDefinition = "char") 方法。
关于java - Oracle Char 类型和 Hibernate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3529897/