Hibernate中的get方法和load方法有啥區別
1.執行get方法會立即載入物件,執行load不會立即載入,返回的是一個代理物件
下圖是兩個方法執行的結果,是相同的,這是因為c物件都被用到了
下圖是執行get方法,沒有用到c物件,但是卻傳送了sql語句
下圖是load方法,沒有用到c物件,也沒有傳送sql語句,懶載入
2.若資料庫沒有對應的記錄,get返回null
load方法丟擲異常,因為代理物件沒有與之對應的記錄
3.load方法可能會丟擲異常,因為採用的是懶載入,如果這個物件用之前關閉了session,那麼就會丟擲這個異常
看到了吧,這就是兩個方法之間最主要的區別
相關推薦
Hibernate中的get方法和load方法有啥區別
1.執行get方法會立即載入物件,執行load不會立即載入,返回的是一個代理物件 下圖是兩個方法執行的結果,是相同的,這是因為c物件都被用到了 下圖是執行get方法,沒有用到c物件,但是卻傳送了sq
Hibernate中get方法和load方法的區別
pub 機制 否則 on() color 檢索 不存在 bsp 數據庫查詢 1.從返回結果上對比: load方式檢索不到的話會拋出org.hibernate.ObjectNotFoundException異常; get方法檢索不到的話會返回null; 2.從檢索執行機制上對
hibernate的get方法和load方法區別
返回 exception 二級緩存 查詢 get方法 機制 als 分情況討論 如果 讀者需註意:Hibernate版本不同,運行機制不太一樣,以下是hibernate3.x作為講解 get方法: Hibernate會確認一下該id對應的數據是否存在,首先在sessio
Hibernate 中的 openSession和getCurrentSession 方法的區別
在比較openSession和getCurrentSession這兩個方法之前,我們先認識一下這兩個方法。 在進行配置資訊管理時,我們一般進行一下簡單步驟: Configuration cfg = new Configuration(); // 獲得配置資訊物件 S
python中json.dump() 和 json.dumps() 有那些區別?
其他 reading 如果 data logs with open 序列 pos cme 以下內容摘自:《Python Cookbook》 json 模塊提供了一種很簡單的方式來編碼和解碼JSON數據。 其中兩個主要的函數是 json.dumps() 和 json.load
Idea中的war和war explore有什麼區別
我們釋出專案時選擇war還是war explore: war模式:將web工程以war包的形式上傳到伺服器 war exploed模式:將web工程以當前資料夾的位置關係上傳到伺服器 war模式:先打成war包,然後再發布到Tomcat的ROOT下,所以選擇這個後,你再看下你的tomcat
#Java中活鎖和死鎖有什麼區別?如何避免死鎖?
Java中活鎖和死鎖是指什麼,你知道他們之間的區別嗎,下面我們可以來討論一下: 如果有想要學習java的小夥伴,可來我們的java學習扣裙哦:72340,3928裡面贈送java系列教學視訊和資料!小編也是從事了6年java開發的全棧工程師,歡迎初學者和想要進階
Hibernate中lazy="proxy"和lazy="no-proxy"的區別
精妙的例子 Child <- many-to-one ->Parent class Child { private Paren
Axure中動態面板和母版有什麼區別
Axure(http://www.axurechina.cc/)軟體中有很多元件,而我們最常用的Axure中動態面板和母版有什麼區別呢? 一:動態面板元件從字面上理解是一個動態的、由面板組成的一個元件,主要讓我們的原型形成一個動態的效果,而不是毫無生氣的頁面,並且能實現軟體的高階互動效果。
Java開發中抽象類和介面都有什麼區別?
在Java軟體開發中抽象類和介面會有一個明顯的區別,具體會有哪些區別呢?下文就兩者的區別做了一個比較詳細的描述。抽象類: 1、抽象類使用abstract修飾; 2、抽象類不能例項化,即不能使用new關鍵字來例項化物件; 3、含有抽象方法(使用abstract關鍵字修飾的方法)的類是抽象類,
Typescript 中的 interface 和 type 到底有什麼區別
本文首發於 github 部落格 如對你有幫助是我的榮幸,你的 star 是對我最大的支援! interface VS type 大家使用 typescript 總會使用到 interface 和 type,官方規範 稍微說了下兩者的區別 An interface can be
JS中建構函式和普通函式有什麼區別
//建立函式 function Person(name,age,job){ this.name=name; this.age=age; this.job=job; this.sayName=function(){ alert(this.name);
客觀面試題--30.hibernate的一級快取和二級快取有什麼區別?
快取是介於應用程式和物理資料來源之間,其作用是為了降低應用程式對物理資料來源訪問的頻次,從而提高了應用的執行效能。快取內的資料是對物理資料來源中的資料的複製,應用程式在執行時從快取讀寫資料,在特定的時刻或事件會同步快取和物理資料來源的資料。 快取的介質一般是記憶體,所以讀寫
JavaScript中普通函式和建構函式有什麼區別?
1 命名規則 建構函式名首字母一般大寫,普通函式名首字母一般小寫 2 呼叫規則 通過new操作符呼叫的則是建構函式,否則是普通函式 例: //建立函式 function Fun(par
SAP中物料憑證和會計憑證有什麼區別
1、物料憑證對應實際業務中物資部門的出、入庫等庫存操作記錄單據,會計憑證對應實際業務中財務部門的根據原始憑證形成的記賬憑證; 2、物料憑證基於工廠層級,會計憑證基於公司程式碼層級; 3、物料憑證中也
通過Class類中的newInstance()和獲取getConstructor()有什麼區別?(反射)
通過反射操作構造方法建立物件: 步驟: 1.獲得Class物件 2獲得構造 3.通過構造物件獲得例項化物件 問題: 直接通過Class類中的newInstance()和獲取getConstructor()有什麼區別? newInstance()方法, 只能通過空參
Makefile中引用變數時大括號和小括號有啥區別?
如題。 Makefile中可以通過$(Var)或者${Var}的方式引用變數"Var", 我想問一下大括號應用跟小括號引用有啥區別?我有碰到過一個問題,通過小括號在某些情況下引用環境變數一直失敗,但大括號就可以,望各位達人給個正解,謝謝!------解決方案--------
linux shell中,unlink和rm命令有什麼區別
strace 跑 rm 與 unlink,結果有不同地方. 1. strace rm 1.txt 片段access("1.txt", W_OK) = 0 unlinkat(AT_FDCWD, "1.txt", 0) =
hibernate中一級快取和二級快取的具體區別
一、Session快取(又稱作事務快取):Hibernate內建的,不能卸除。 快取範圍:快取只能被當前Session物件訪問。快取的生命週期依賴於Session的生命週期,當Session被關閉後,快取也就結束生命週期。 Hibernate一些與一級快取相關的操作(時間點): 資料放入快取: 1. save
Android Studio中mipmap目錄和drawable目錄有什麼區別
使用Android Studio開發時發現有2個目錄可以放置圖片: mipmap vs drawable,那麼他們有什麼區別呢?該選擇哪個呢? 這裡網羅各位大神的答案,共同學習: 答案1: 圖片還是放