我可以处理NaN为NULL在Spring Data JPA?



我有一些列与NaN值在我的Postgres数据库。我们处理金钱,所以我所有的实体都是BigDecimals,它不能容纳NaN。

是否有一个设置或JPA或Hibernate上的东西,我可以告诉它"对待任何nan,如果他们是null ">

您可以使用@ColumnTransformer对单个列执行此操作,并且可以通过MetadataContributor以编程方式执行此操作(参见如何在Hibernate中以编程方式提供对ColumnTransofrmer的读写?),但不可能在全局中执行此操作。

然而,如果你有NaN在你的数据库中,有些东西是错误的,因为你正在保存一些float/double类型的值。所以在我看来,你应该先迁移数据update tbl set col = null where is_nan(col),然后切换到alter table tbl alter column col set datatype numeric(19,3)或类似的东西。

相关内容

  • 没有找到相关文章

最新更新