java物件關係對映ROM

2021-09-14 00:09:36 字數 1161 閱讀 7159

一、物件關係對映orm概述

下圖簡單說明了orm在多層系統架構中的這個作用。

(來自網路www.shsxt.com)

目前大多數專案或產品都使用關係型資料庫實現業務資料的儲存,這樣在開發過程中,常常有一些業務邏輯需要直接用寫sql語句實現,但這樣開發的結果是:遍地布滿sql語句。這些高藕合的sql語句給系統的改造和公升級帶來很多無法預計的障礙。為了提高專案的靈活性,特別是快速開發,orm是乙個不錯的選擇。舉個簡單的例子:在使用orm的系統中,當資料庫模型改變時,不再需要理會邏輯**和sql語句中涉及到該模型的所有改動,只需要將該模型對映的物件稍作改動,甚至不做改動就可以滿足要求。

來自網路(上海尚學堂)

二、orm特性及優缺點

1、orm特性

1.提高了開發效率。由於orm可以自動對entity物件與資料庫中的table進行欄位與屬性的對映,所以我們實際可能已經不需要乙個專用的、龐大的資料訪問層。

2.orm提供了對資料庫的對映,不用sql直接編碼,能夠像操作物件一樣從資料庫獲取資料。

2、orm優缺點

orm的缺點是會犧牲程式的執行效率和會固定思維模式。從系統結構上來看,採用orm的系統一般都是多層系統,系統的層次多了,效率就會降低。orm是一種完全的物件導向的做法,而物件導向的做法也會對效能產生一定的影響。

在我們開發系統時,一般都有效能問題。效能問題主要產生在演算法不正確和與資料庫不正確的使用上。orm所生成的**一般不太可能寫出很高效的演算法,在資料 庫應用上更有可能會被誤用,主要體現在對持久物件的提取和和資料的加工處理上,如果用上了orm,程式設計師很有可能將全部的資料提取到記憶體物件中,然後再進 行過濾和加工處理,這樣就容易產生效能問題。

在對物件做持久化時,orm一般會持久化所有的屬性,有時,這是不希望的。

但orm是一種工具,工具確實能解決一些重複,簡單的勞動。這是不可否認的。但我們不能指望工具能一勞永逸的解決所有問題,有些問題還是需要特殊處理的,但需要特殊處理的部分對絕大多數的系統,應該是很少的。

物件關係對映

雙向一對一對映 class card 把關係的維護交給多方物件的屬性去維護關係 c 關係的擁有方負責關係的維護,在擁有方建立外來鍵。所以用到 joincolumn cascade 設定級聯關係,這種關係是遞迴呼叫 可以是 cascadetype.persist 級聯新建 cascadetype.re...

物件關係對映

雙向一對一對映 class card 把關係的維護交給多方物件的屬性去維護關係 c 關係的擁有方負責關係的維護,在擁有方建立外來鍵。所以用到 joincolumn cascade 設定級聯關係,這種關係是遞迴呼叫 可以是 cascadetype.persist 級聯新建 cascadetype.re...

hibernate物件關係對映

一對一主鍵關聯對映 單向person idcard 原理 讓兩個實體的主鍵一樣,這樣就不需要加入多餘的字段了。舉例 乙個人 person 擁有一張身份證 idcard 一對一主鍵關聯對映 雙向person idcard 原理 與上面單項相同,只是需要兩端都需要維護。舉例 同上。person的對映檔案...