博為峰JavaEE技術(shù)文章 —— Hibernate域模型(3)物理命名策略

今天小博老師繼續(xù)帶領(lǐng)大家學習域模型命名的物理命名策略。許多組織定義關(guān)于數(shù)據(jù)庫對象(表,列,外鍵等)的命名。物理命名策略是幫助實現(xiàn)這樣的命名規(guī)則,而不必將顯式名稱硬編碼到映射中。

隱式命名策略的目的是確定在沒有明確指定的情況下把屬性名與列明對應(yīng)起來,比如:把名為accountNumber的屬性映射到邏輯列名稱accountNumber。物理命名策略的目的是使用更為簡潔命名規(guī)則。比如,accountNumber使用物理命名規(guī)則時,物理列名稱應(yīng)該縮寫為acct_num。

的確,acct_num的定義可以在隱式命名策略中處理。但問題應(yīng)該分開來看,不管屬性是否顯式指定列名稱或是否隱式確定都可以應(yīng)用物理命名策略。如果未給出顯式名稱,則應(yīng)該使用隱式命名策略。至于如何選擇取決于需求和意圖。

默認是將邏輯名作為物理名稱。然而,應(yīng)用程序可以定義自定義實現(xiàn)Physicalnamingstrategy。下面是PhysicalNamingStrategy例子:

l使用下劃線而不是駱駝命名法

l用標準縮寫代替某些單詞

有多種方法來指定要使用的PhysicalNamingStrategy。 首先,應(yīng)用程序可以使用hibernate.physical_naming_strategy配置設(shè)置來指定實現(xiàn):

l引用實現(xiàn)org.hibernate.boot.model.naming.PhysicalNamingStrategy的類

l實現(xiàn)org.hibernate.boot.model.naming.PhysicalNamingStrategy類

其次,應(yīng)用程序和集成可以利用org.hibernate.boot.MetadataBuilder#applyPhysicalNamingStrategy。

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

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

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