[英]How to use Hibernate with Annotation for Null Float Field
今天早上我一直在努力争取这一点,但没有找到与Google或堆栈溢出有关的好的线索。
我正在使用带有注释的休眠模式来帮助将数据保存到mysql数据库中。 mysql表允许将float字段设置为null,并且文件输入可以为空字符串,这意味着应将null保存到db。
从文件读取时,如果收到空字符串,则将相应的“ Float”字段设置为null。
对于不具有该字段为null的插入,插入将正常工作,并且记录将插入到db中。 但是,当该字段为空时,我得到了NPE。 我在调用之前已进行检查,以检查管理类是否不为null,并且不是。 我还在调试模式下的第一行中插入了一个断点,并尝试在调试模式下介入,此后我一无所获。 基于此,我相信幕后有一些事情导致了NPE。
从阅读Persistence @Column nullable = false可以插入null,我试图使用nullable
为nullable
注释,但看起来nullable
为nullable
可用于模式生成。
@Column(name = "SomeFloatField", nullable = true)
我的问题很简单,您如何进入休眠状态以允许将float值“空”保存到数据库?
找到了问题……这很糟糕……但我会在这里贴一个帖子,以免其他任何人遇到与我同样的挫败感。
我是休眠的新手,所以在开发时,我从float
开始,然后在看到基础数据库可以接受空值时将其迁移到Float
。 可悲的是,在insert方法中,它的签名是float
而不是Float
,这意味着当我传递null时,它就炸掉了,这是很合理的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.