当前位置: 首页 > 面试题库 >

Oracle Char类型和Hibernate

花博厚
2023-03-14
问题内容

我有一个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”)方法。



 类似资料:
  • 类型和泛型 类型系统的首要目的是检测程序错误。类型系统有效的提供了一个静态检测的有限形式,允许我们代码中明确某种类型的变量并且编译器可以验证。类型系统当然也提供了其他好处,但错误检测是他存在的理由(Raison d’Être) 我们使用类型系统应当反映这一目标,但我们必须考虑到读者(译注:读你代码的人):明智地使用类型可以增加清晰度,而过份聪明只会迷乱。 Scala的强大类型系统是学术探索和实践共

  • Haskell是一种函数式语言,它是严格类型的,这意味着整个应用程序中使用的数据类型在编译时将为编译器所知。 内置类型类 在Haskell中,每个语句都被视为一个数学表达式,该表达式的类别被称为Type 。 您可以说“Type”是编译时使用的表达式的数据类型。 要了解有关Type更多信息,我们将使用“:t”命令。 通常, Type可以被视为一个值,而Type Class可以被认为是一组类似的类型。

  • Haskell是一种函数语言,它是严格类型化的,Haskell编译器在编译时知道整个应用程序中使用的数据类型。 1. 内置类型类 在Haskell中,每个语句都被视为数学表达式,并且此表达式的类别称为类型()。可以说是在编译时使用的表达式的数据类型。 要了解有关类型的更多信息,可以使用命令。以通用的方式可以将类型视为值,而可以将类型类视为一组相似类型的类型。在本章中,我们将学习不同的内置类型。 2

  • 但是,根据Java8,我将类型更改为。 现在它自动创建一个表,其中包含创建的列,生成的命令如下所示 代替日期的是字符串,在数据库中它已经被写入。日期是怎么回事?我使用的是H2 base和Eclipselink。

  • 我试图构建一个将使用REST API的泛型类。api根据URL返回对象列表。 } 问题是T在编译时被Object替换,整个过程返回的是LinkedHashMap列表,而不是T列表。我尝试了很多变通方法,但都没有成功。有什么建议吗?

  • 数组是一组包含相同数据类型 T 的组合,并存储在连续的内存区中。数组使用中括号 [] 来创建, 另外它们的大小在编译期间就已确定,数组的类型标记为 [T; size](译注:T 为元素的类型,size 表示数组的大小)。 slice(中文有“切片”之意) 类型和数组类似,但 slice 类型的大小在编译期间是不确定的。相反, slice 是一个双字对象(two-word object),第一个字是