Hibernate备忘录
?最近,又復(fù)習(xí)了一下Hibnerate的知識,感覺有了一些小的收獲,和大家分享一下。
1、不可以手動修改持久化對象的ID,可能造成緩存中的數(shù)據(jù)不準(zhǔn)確。
2、Session接口中的saveOrUpdate()方法用來持久化對象。
(ps:瞬時(shí)對象執(zhí)行save,游離對象執(zhí)行update)
3、對于Session接口中的load和get方法都具有查詢數(shù)據(jù)的功能。
(ps:如果指定的id數(shù)據(jù)庫中不存在,load方法拋出異常,而get方法返回為null。)
get方法調(diào)用的時(shí)候,立即查詢數(shù)據(jù)庫。load方法調(diào)用時(shí)候,返回代理類,在對象被調(diào)用的時(shí)候,才去查詢數(shù)據(jù)庫。
4、執(zhí)行過saveOrUpdate的操作時(shí),建議使用session.flush()方法刷新緩存,保證數(shù)據(jù)的實(shí)時(shí)性。(ps:具體的情況具體分析,如果對數(shù)據(jù)的實(shí)時(shí)性要求不強(qiáng),就不用調(diào)用該方法,從而減少與數(shù)據(jù)庫的交互,提高系統(tǒng)性能。)
5、Hibernate3.x默認(rèn)是延時(shí)加載。
6、延時(shí)加載只對load方法生效,對get方法無效。
轉(zhuǎn)載于:https://blog.51cto.com/iceworldvip/1040498
總結(jié)
以上是生活随笔為你收集整理的Hibernate备忘录的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 传输层-Transport Layer(
- 下一篇: 解决链接模型的可见性问题