这个问题是关于一些声明为双精度的字段,并且在数据库中通常为空。如果某些字段为空,则使用 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,您更了解它。有关更多建议,请发布代码片段。