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

ben*_*rre 3 postgresql hibernate jpa

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

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

Wrong column type in realtorprint.templatetype for column height.
Found: float8, expected: float4
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?我的列是float(8)而不是float(19)我可能在遗留数据库中更改了这个.

Don*_*oby 5

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

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

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

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