我的 Postgres 資料庫中有一些帶有 NaN 值的列。我們正在處理資金,所以我所有的物體都是 BigDecimals,不能容納 NaN。
在 JPA 或 Hibernate 上是否有設定或其他內容,我可以告訴它“將任何 NaN 視為 NULL”
uj5u.com熱心網友回復:
您可以為單個列執行此操作,@ColumnTransformer并且可以通過 a以編程方式執行此操作MetadataContributor(請參閱如何在 Hibernate 中以編程方式提供對 ColumnTransofrmer 的讀取和寫入?),但無法在全域范圍內執行此操作。
但是,如果您的資料庫中有 NaN,那么已經有問題了,因為您正在使用某種浮點/雙精度型別保存值。所以IMO你應該首先遷移資料update tbl set col = null where is_nan(col),然后切換到alter table tbl alter column col set datatype numeric(19,3)或類似的東西。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/329695.html
上一篇:事務提交后休眠不保存物體
