hibernate学习(3)——get和load的区别
生活随笔
收集整理的這篇文章主要介紹了
hibernate学习(3)——get和load的区别
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
2019獨角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
通過get和load都可以從數(shù)據(jù)庫中取到數(shù)據(jù)組裝成一個對象。但這兩個方法間有一點區(qū)別:
1、調(diào)用get方法的時候,會馬上向數(shù)據(jù)庫發(fā)出sql語句查詢,返回對象。調(diào)用load方法則不會馬上發(fā)sql語句,返回的是一個代理對象。當(dāng)真正使用的時候才會發(fā)出sql。所以要求這時Session的transaction還沒有提交,否則包延遲初始化異常。
2、如果取的記錄是數(shù)據(jù)庫中不存在的,調(diào)get方法是馬上會報錯(找不到對應(yīng)的記錄),調(diào)load方法是不會報錯。(當(dāng)然使用該對象時會報錯!)其實第二點區(qū)別根本還是在第一點。
轉(zhuǎn)載于:https://my.oschina.net/laichendong/blog/283865
總結(jié)
以上是生活随笔為你收集整理的hibernate学习(3)——get和load的区别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iOS 带IAP提交注意事项及无法sub
- 下一篇: java中类的加载及执行顺序