Postgres类型将映射到Float类型的休眠列中的列?

时间:2013-01-11 23:03:53

标签: hibernate postgresql jpa

什么postgres列类型将映射到基于hibernate的列中的Java Float类型?

我在我的遗留postgres数据库中有float(19)但是如果启用了hibernate架构验证,我会收到此错误消息。

Wrong column type in realtorprint.templatetype for column height.
Found: float8, expected: float4

有什么想法吗?我的列是float(8)而不是float(19)我可能会在遗留数据库中更改此内容。

1 个答案:

答案 0 :(得分:5)

hibernate如何将Java类型映射到SQL类型由与您的RDBMS对应的Dialect子类控制。确切地说,您使用哪一个可能取决于您的Hibernate和Postgres的版本。

但我怀疑在大多数情况下,Java float映射到float(4),Java double映射到float(8)。

这是开源的,您可以获取代码并检查以确定您的案例中发生了什么。

您也可以通过配置替换自己的方言,但这很少适合。 (它偶尔适用于错误修正。)