java对象关系映射ROM
一、對象關系映射ORM概述
對象關系映射(Object-Relational Mapping,簡稱ORM)是一種為了解決程序的面向對象模型與數據庫的關系模型互不匹配問題的技術;簡單的說,ORM是通過使用描述對象和數據庫之間映射的元數據(在Java中可以用XML或者是注解),將程序中的對象自動持久化到關系數據庫中或者將關系數據庫表中的行轉換成Java對象,其本質上就是將數據從一種形式轉換到另外一種形式。
在ORM過程中最重要的概念是映射(Mapping),通過這種映射可以使業務對象與數據庫分離。從面向對象來說,數據庫不應該和業務邏輯綁定到一起,ORM則起到這樣的分離作用,使數據庫層透明,開發人員真正的面向對象。
下圖簡單說明了ORM在多層系統架構中的這個作用。
(圖片來自網絡www.shsxt.com)
目前大多數項目或產品都使用關系型數據庫實現業務數據的存儲,這樣在開發過程中,常常有一些業務邏輯需要直接用寫SQL語句實現,但這樣開發的結果是:遍地布滿SQL語句。這些高藕合的SQL語句給系統的改造和升級帶來很多無法預計的障礙。為了提高項目的靈活性,特別是快速開發,ORM是一個不錯的選擇。舉個簡單的例子:在使用ORM的系統中,當數據庫模型改變時,不再需要理會邏輯代碼和SQL語句中涉及到該模型的所有改動,只需要將該模型映射的對象稍作改動,甚至不做改動就可以滿足要求。][3]
圖片來自網絡(上海尚學堂)
二、ORM特性及優缺點
1、ORM特性
1.提高了開發效率。由于ORM可以自動對Entity對象與數據庫中的Table進行字段與屬性的映射,所以我們實際可能已經不需要一個專用的、龐大的數據訪問層。
2.ORM提供了對數據庫的映射,不用sql直接編碼,能夠像操作對象一樣從數據庫獲取數據。
2、ORM優缺點
ORM的缺點是會犧牲程序的執行效率和會固定思維模式。從系統結構上來看,采用ORM的系統一般都是多層系統,系統的層次多了,效率就會降低。ORM是一種完全的面向對象的做法,而面向對象的做法也會對性能產生一定的影響。
在我們開發系統時,一般都有性能問題。性能問題主要產生在算法不正確和與數據庫不正確的使用上。ORM所生成的代碼一般不太可能寫出很高效的算法,在數據 庫應用上更有可能會被誤用,主要體現在對持久對象的提取和和數據的加工處理上,如果用上了ORM,程序員很有可能將全部的數據提取到內存對象中,然后再進 行過濾和加工處理,這樣就容易產生性能問題。
在對對象做持久化時,ORM一般會持久化所有的屬性,有時,這是不希望的。
但ORM是一種工具,工具確實能解決一些重復,簡單的勞動。這是不可否認的。但我們不能指望工具能一勞永逸的解決所有問題,有些問題還是需要特殊處理的,但需要特殊處理的部分對絕大多數的系統,應該是很少的。
感謝閱讀上海尚學堂文章,獲取更多文章或技術支持,請點擊 上海Java培訓
總結
以上是生活随笔為你收集整理的java对象关系映射ROM的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Arduino的光敏传感器和超声波测距传
- 下一篇: make的使用和Makefile规则和编