2

Order テーブルの情報を取得する必要がある場合、jasper は PGmoney から double にキャストできません。最初にグーグルで検索しましたが、これの結果はありません。

あなたはそれを修正する方法を知っていますか?

注: PostgreSQL データベースを使用します。

4

1 に答える 1

4

moneyこれは、PostgreSQL型が廃止され、避けるべきいくつかの理由の 1 つです。奇妙なことに、同じドキュメントのより新しいバージョンでは非推奨の警告が表示されませんが、私と他の人はそれに同意せず、その使用は推奨されるべきではないと考えています。

可能であれば、numeric代わりに使用するようにスキーマを変更してください。たとえば、numeric(17,2)整数のセントのみを格納したい場合や、中間値に対してより正確なものを格納したい場合などです。Java のクラス (通常はフィールドのマッピングに使用される) でさえ、その算術演算の非常に不器用な構文にもかかわらず優れmoneyている点まで、HQL で作業する時間の悪夢を見るでしょう。BigDecimalnumeric

私があなただったら、タイプが存在することALTER TABLE blah ALTER COLUMN blahcol TYPE numeric(17,2) USING ( regexp_replace(blahcol::text, '[$,]', '', 'g')::numeric );を忘れてしまいます。money

于 2012-09-04T13:13:48.887 に答える