当前位置: 首页 > 知识库问答 >
问题:

如何使用Hibernate与注解的空浮点字段

蒙奇
2023-03-14

今天早上我一直在与这个问题斗争,没有找到任何好的线索。

我使用带注释的hibernate来帮助将数据保存到mysql数据库中。mysql表允许将float字段设置为null,并且来自文件的输入可以是空字符串,这意味着应该将null保存到db中。

从文件读取时,如果我收到一个空字符串,那么我将相应的“Float”字段设置为空。

对于没有此字段为 null 的插入,插入将正常工作,记录将插入到数据库中。但是,当此字段为空时,我会得到一个 NPE。我在调用之前进行了检查,以检查管理类是否不为空,并且不是。我还在用于插入的方法的第一行放置了一个断点,并在调试模式下尝试单步执行,但我无法进一步。基于此,我认为幕后有一些事情导致了NPE。

从阅读持久性@Column可为空= 假可以插入空我试图使用可为空注释,但看起来可为空用于模式生成。

@Column(name = "SomeFloatField", nullable = true)

我的问题非常简单,您如何让Hibernate以允许将浮点值的“null”保存到数据库中?

共有1个答案

湛宏旷
2023-03-14

发现问题...这很糟糕...但是我会在这里发一个帖子,以防其他人经历和我一样的挫折。

我是Hibernate的新手,所以当我开发时,我从 float 开始,然后在我看到底层数据库可以接受空值时将其迁移到 Float。可悲的是,在插入方法中,它的签名有浮点而不是浮点,这意味着当我传递空值时它爆炸了,这是完全有道理的。

 类似资料:
  • 问题内容: 如何在hibernate状态下使用层叠和注释? 但是我仍然怀疑: 我有这种情况: 当我尝试时,发生错误。我不想保存产品和包装。我只想初始化并将它们设置到我的包对象中。 那可能吗? 问题答案: 请参阅有关此问题的hibernate文档。例如,您可以使用例如 要么

  • 问题内容: 在我的数据库中,我具有NextStatDistanceTime值作为浮点数。执行“ ”行时,出现错误 系统无效的强制转换异常 如何在此代码中从sql命令获取浮点值? 这是我的代码: 问题答案: 我想是时候放一张桌子了。 T-SQL类型名称 相当于.NET C#类型名称 `DataReader` 方法 `FLOAT` `System.Double` `double` `IDataRead

  • 问题内容: Java中的“浮点文字”和“浮点文字”是同一东西吗? 另外,在Java中是否有所谓的“双文字”? 问题答案: “浮点文字”是指任何浮点类型的文字。这两个和的浮点类型。 我以前从没碰过“浮点文字”这个词,但我想它的意图与“浮点文字”是一样的。 不过,您应该确保要求澄清, 因为如果作者打算说“浮点文字”,那么那将特别是类型的文字,而不仅仅是一般的浮点类型。 至于Java中浮点文字的特定类型

  • Oracle10g中的浮点数据类型是什么?它与数字有什么关系? 除了NUMBER、BINARY_FLOAT和BINARY_DOUBLE类型之外,Oracle还在语法上支持以下数字数据类型: 当我说“语法支持”时,我的意思是CREATE语句可以使用这些数据类型,但实际上它们都是数字类型。... 浮点(p):映射到数字类型。 所以,FLOAT不仅仅是一个别名,它还提供了NUMBER本身所不能提供的行为

  • 问题内容: 标题不言自明。 我很高兴听到解决方案,谢谢。 问题答案: 到目前为止,有一种比列出的方法更短的方法:

  • 我试图在Bash脚本中划分两个图像宽度,但是Bash给了我,结果是: 我确实研究了Bash指南,我知道我应该使用,在互联网上的所有示例中,他们都使用。在中,我试图将同样的东西放入