3

hibernate ベースの列で Java Float 型にマップされる postgres 列の型はどれですか?

従来の postgres データベースに float(19) がありますが、休止状態のスキーマ検証が有効になっていると、このエラー メッセージが表示されます。

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

何か案は?私の列はfloat(19)ではなくfloat(8)です。おそらく、レガシーデータベースでこれを変更できます。

4

1 に答える 1

7

Hibernate が Java 型を SQL 型にマップする方法は、RDBMS に対応するDialectのサブクラスによって制御されます。どちらを使用するかは、Hibernate と Postgres の両方のバージョンによって異なります。

しかし、ほとんどの場合、Java float は float(4) にマップされ、Java double は float(8) にマップされるのではないかと思います。

これはオープンソースであるため、コードを取得して、ケースで何が起こっているかを確認できます。

構成によって独自の方言に置き換えることもできますが、それが適切であることはめったにありません。(時折のバグ修正に適しています。)

于 2013-01-11T23:22:31.977 に答える