hibernate的get() load() 和find()區別


如果找不到符合條件的紀錄,get()方法將返回null.
如果找不到符合條件的紀錄,find()方法將返回null.
如果找不到符合 條件的紀錄,load()將會報出ObjectNotFoundEcception.

 

get()方法會忽略二級緩存,若內部緩存沒有查詢到會到數據庫中去查詢 .
find()方法會忽略二級緩存,若內部緩存沒有查詢到會到數據庫中去查詢 .
load()方 法可以充分利用hibernate的內部緩存和二級緩存中的現有數據 .

get()方法返回真實的實體類 .
find()方法返 回真實的實體類 .
load()方法可以返回實體的代理類 .

 

load()會因所要查詢的對象類的映射文件中設置的檢索策略,而實現立即檢索或延遲檢索。
get()方法和find()方法卻不受這種控制,它 們總是會執行立即檢索。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM