首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Oracle Char类型和Hibernate

Oracle Char类型和Hibernate
EN

Stack Overflow用户
提问于 2010-08-20 18:06:23
回答 2查看 28.5K关注 0票数 15

我有一个oracle表,其中包含多个列的char(n)类型。我使用hibernate工具来创建实体对象,这个工具在字符串中映射char类型。

但是当我部署我的应用程序时,我得到了一个错误,因为Hibernate等待的是varchar2类型而不是char类型:

代码语言:javascript
复制
Wrong column type in ARBOR.CMF for column CHG_WHO. Found: char, expected: varchar2(30 char)

我必须使用哪种java类型来映射实体中的char(n)类型?

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-08-20 18:16:01

这里有一些有用的信息,on this blog entry.

本质上,您需要使您的hibernate配置更加具体,因为它假定有一个默认字符串映射到varchar2(30)。

您可以尝试使用与数据库无关的@ column注释(length=N)(其中N是数据库中列的实际长度)。如果这不起作用,请尝试使用@Column(columnDefinition = "char")方法。

票数 24
EN

Stack Overflow用户

发布于 2017-02-23 20:33:45

不工作-- Hibernate模式验证失败:

代码语言:javascript
复制
@Column(name="ENABLED_FLAG", length=1)
private String enabledFlag;

确实有效,因为columnDefinition属性告诉Hibernate不要默认使用VARCHAR2作为列类型,而是使用CHAR

代码语言:javascript
复制
@Column(name="ENABLED_FLAG", length=1, columnDefinition="CHAR")
private String enabledFlag;

数据库中的列定义为:

代码语言:javascript
复制
ENABLED_FLAG CHAR(1 BYTE)
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3529897

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档