[英]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.