java - Oracle Char 类型和 Hibernate

标签 java hibernate oracle10g

我有一个 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/

相关文章:

Java 将播放器平滑地从一处移动到另一处

java - 在 PHP 中复制 Java 的 AES/CBC/PKCS5Padding 加密

java - 从网页读取数据

java - 使用注释一对多不添加列(hibernate)

Windows 7 上的 Java 1.3.1

java - hibernate hbm2hbmxml

hibernate - Spring + Hibernate SessionFactory + AbstractRoutingDataSource

java - 如何将Oracle ons.jar 添加到maven 项目中

Java JDBC 调用 Oracle 10 函数 "invalid identifier"

php - Oracle 10.x 到 MySQL 5.x 的转换