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

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

.......

........

下面是有關(guān)其它配置的說明

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

? ? ?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對象的時候,生成動態(tài)的insert語句,如果這個字段的值是null就不會加入到insert語句當中.默認false

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

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

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

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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

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

友情鏈接更多精彩內(nèi)容