null id in entry (don't flush the Session after an exception occurs)


  null id in entry (don't flush the Session after an exception occurs)

        遇到這個異常實屬不小心所致,最初看到異出的錯誤信息時我誤認為是主鍵為空所致。一着急竟然把entry當成了entity理解,真是讓人笑話^_^。

        其實個該異常信息是在提示我們沒有為數據中的非空字段設置值。呵呵!看,夠笨的吧。怎么會忘記為非空字段設置值呢?當然一般我們是不會犯這樣的錯。但是需要說的一點是,在數據的設計中比如SqlServer,我們為某個非空字段設置了默認值。如果我們在通過Hibernate增加一條記錄的時候我們必須顯式的通過setXxx方法為該字段(/屬性)賦值(/默認值)。因為在保存之前Hibernate會檢查該非空字段對應的實體屬性是否為空。我就是忽略了這一點,所以才會造成上面的異常。

        如果不想對有默認值的非空字段進行顯式賦值的話,我們可以通過xxx.hbm.xml配置文件來實現,也就是在配置文件中給出該字段的默認值


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM