ssh架構之hibernate 三 關係對映

2022-05-26 17:12:09 字數 1329 閱讀 4394

1.對映檔案配置

測試

1.查詢測試

執行順序,先查詢多方,在查詢一方,一方採用延遲載入

注意:如果不使用一方的資料,就關閉session,報錯,同延遲載入中的報錯型別一樣

測試控制台輸出為:

2.儲存測試

輸出結果:

注意:

1.儲存測試先儲存商品後儲存分類:

測試結果:

結論:很明顯先儲存商品後儲存分類,要執行5句sql,效率低.

實際情況,我們先把型別分好,然後進貨的時候就直接可以分類。但是如果相反的話,我們就要先進貨,再分型別,再把貨放到相應型別中去

2.關聯物件不要例項化(單向多對一)

不能在多方例項化一方,因為例項化之後一方沒有主鍵,也就是沒有外鍵值,儲存會出錯

這個lazy的值預設為true,則實現延時載入,而我們修改成false後,不管有沒有找其它的商品,它都會馬上傳送sql來去查詢資料。 但是這種做法嚴重影響效能

SSH學習之Hibernate的簡介

struts2是負責呼叫業務邏輯處理和頁面跳轉的框架,也就是說在mvc設計模式中擔當的是檢視和控制器的角色。那麼模型 model 主要是負責業務邏輯和資料庫訪問,而hibernate主要負責的就是資料庫訪問。如果學過jdbc的程式設計師都知道,我們是通過sql語句直接運算元據庫的,雖然執行 的效率非...

SSH之hibernate 1和n的關聯對映

關聯對映將關聯關係對映到資料庫中,所謂的關聯關係在物件模型中就是乙個或多個引用。那麼hibernate在載入的時候根據關係自動載入物件,不用再分步查詢。這裡介紹一對多和多對一的關聯對映。一 n 1 1 物件模型 關聯是有方向的,只能從user看到group,反過來看不到 根據uml知識,這裡的use...

SSH架構的形成

1.client jsp db 2.client jsp model db。jsp負責與db互動,包括1。3.client jsp service model db。jsp只與model和service打交道,與db無關。service負責與db互動。service與model層合稱為 業務邏輯層。...