Hibernate 中設置并處理Oracle的字段的默認值

數據庫中一個字段的默認值設為0,當用hibernate插入數據時,沒有對該字段進行操作,結果該字段居然不是0,而是空。后來google了一下,發現應該在.hbm.xml文件中添加一些參數定義,具體如下:

.......

........

下面是有關其它配置的說明

Hibernate允許我們在映射文件里控制insert和update語句的內容.比如在映射文件中

? ? ?1)<property>元素 insert屬性:設置為false,在insert語句中不包含這個字段,表示永遠不會被插入,默認true

? ? ?2)<property>元素 update屬性:設置為false,在update語句中不包含這個字段,表示永遠不會被修改,默認true

? ? ?3)<class>元素 mutable屬性:設置為false就是把所有的元素的update屬性設置為了false,說明這個對象不會被更新,默認true

? ? ? 4)<property>元素 dynamic-insert屬性:設置為true,表示insert對象的時候,生成動態的insert語句,如果這個字段的值是null就不會加入到insert語句當中.默認false

? ? ?5)<class>元素 dynamic-update屬性,設置為true,表示update對象的時候,生成動態的update語句,如果這個字段的值是null就不會被加入到update語句中,默認false

? ? ?6)<class>元素 dynamic-insert屬性:設置為true,表示把所有的元素的dynamic-insert屬性設置為true,默認false

? ? ?7)<class>元素 dynamic-update屬性:設置為true,表示把所有的元素的dynamic-update屬性設置為true,默認false

? ? ?Hibernate生成動態SQL語句的消耗的系統資源(比如CPU,內存等)是很小的,所以不會影響到系統的性能,如果表中包含N多字段,建議把dynamic-update屬性和insert屬性設置為true,這樣在插入和修改數據的時候,語句中只包括要插入或者修改的字段.可以節省SQL語句的執行時間,提高程序的運行效率.

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,991評論 19 139
  • 1. 簡介 1.1 什么是 MyBatis ? MyBatis 是支持定制化 SQL、存儲過程以及高級映射的優秀的...
    笨鳥慢飛閱讀 5,677評論 0 4
  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,778評論 18 399
  • 從呱呱墜地哭到步履蹣跚,我們為愛情哭過,為友情哭過,為戀家哭過,為事業哭過,似乎一切故事背后,都會有哭戲混雜。 ...
    向北飛的魚閱讀 328評論 0 0
  • AsyncDisplayKit的基本使用單元是node. ASDisplayNode是一個UIView層之上的封裝...
    小人國國王閱讀 20,653評論 15 51