grails,当字段包含空值时从数据库加载域会导致设置器失败
grails, loading domain from db when fields contains null causes setters to fail
这个问题是关于一些在数据库中被声明为双精度且通常为空的字段。
如果某些字段为空,则使用 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
您应该始终在 entities/domains 中使用 Double
;除非你在工作中有 nullable: false
限制,否则这也是一个很好的做法。
但是,您需要在计算中自己处理 null
,可能通过将其设为 0 或 1,您会更清楚。如需更多建议,post 代码段。
这个问题是关于一些在数据库中被声明为双精度且通常为空的字段。 如果某些字段为空,则使用 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
您应该始终在 entities/domains 中使用 Double
;除非你在工作中有 nullable: false
限制,否则这也是一个很好的做法。
但是,您需要在计算中自己处理 null
,可能通过将其设为 0 或 1,您会更清楚。如需更多建议,post 代码段。