grails,当字段包含null时从db加载域会导致setter失败

grails,当字段包含null时从db加载域会导致setter失败,grails,gorm,Grails,Gorm,这个问题是关于数据库中一些声明为双精度且通常为空的字段。 如果某些字段为空,则使用findAllBy接收列表将失败。 我试着将类型改为Double,但当我对它们进行算术运算时,就会遇到问题。如果该值为null,则Double无法决定应使用哪个转换器。 我不知道在设置空值之前是否有任何方法可以转换域中的空值。 错误示例: Caused by: org.hibernate.PropertyAccessException: Null value was assigned to a property o

这个问题是关于数据库中一些声明为双精度且通常为空的字段。 如果某些字段为空,则使用findAllBy接收列表将失败。 我试着将类型改为Double,但当我对它们进行算术运算时,就会遇到问题。如果该值为null,则Double无法决定应使用哪个转换器。 我不知道在设置空值之前是否有任何方法可以转换域中的空值。 错误示例:

Caused by: org.hibernate.PropertyAccessException: Null value was assigned to a property of primitive type setter of com.buffer.ProdBuffer.makeInquiry

您应始终在实体/域中使用
Double
;除非您在工作中有一个
nullable:false
约束,否则这仍然是一个很好的实践


但是,您需要在计算中自己处理
null
,可能通过将其设为0或1,您会更了解它。如需更多建议,请发布代码片段。

我遵照您的建议,将所有双精度字段更改为双精度字段,并在可能出现的地方处理空值,最后我使其正常工作。谢谢