【发布时间】:2015-10-27 18:02:19
【问题描述】:
今天早上我一直在与这个问题作斗争,但没有找到任何好的 google 或堆栈溢出线索。
我正在使用带有注释的休眠来帮助将数据保存到 mysql 数据库。 mysql表允许将float字段设置为null,并且来自文件的输入可以是空字符串,这意味着应该将null保存到db。
从文件读取时,如果我收到一个空字符串,那么我将相应的“Float”字段设置为空。
对于不将此字段设置为 null 的插入,插入工作正常并且记录被插入到数据库中。但是,当此字段为空时,我会得到一个 NPE。我在调用之前检查了管理类是否不为空,而事实并非如此。我还在用于插入的方法的第一行放置了一个断点,并尝试在调试模式下单步执行,但我无法再进一步了。基于此,我相信幕后有一些事情导致了 NPE。
从阅读Persistence @Column nullable = false can insert null 开始,我试图使用nullable 注释,但看起来nullable 用于模式生成。
@Column(name = "SomeFloatField", nullable = true)
我的问题很简单,你如何让休眠状态允许将浮点值的“null”保存到数据库中?
【问题讨论】:
标签: java mysql hibernate persistence