摘要: Session.load/get方法均可以根據(jù)指定的實(shí)體類和id從數(shù)據(jù)庫讀取記錄,并返回與之對應(yīng)的實(shí)體對象。其區(qū)別在于:
如果未能發(fā)現(xiàn)符合條件的記錄,get方法返回null,而load方法會拋出一個ObjectNotFoundException。
Load方法可返回實(shí)體的代理類實(shí)例,而get方法永遠(yuǎn)直接返回實(shí)體類。
load方法可以充分利用內(nèi)部緩存和二級緩存中的現(xiàn)有數(shù)據(jù),而get方法則僅僅在內(nèi)部緩存中進(jìn)行數(shù)據(jù)查找,如沒有發(fā)現(xiàn)對應(yīng)數(shù)據(jù),將越過二級緩存,直接調(diào)用SQL完成數(shù)據(jù)讀取。
閱讀全文
摘要: 延遲加載機(jī)制是為了避免一些無謂的性能開銷而提出來的,所謂延遲加載就是當(dāng)在真正需要數(shù)據(jù)的時候,才真正執(zhí)行數(shù)據(jù)加載操作。在Hibernate中提供了對實(shí)體對象的延遲加載以及對集合的延遲加載,另外在Hibernate3中還提供了對屬性的延遲加載。下面我們就分別介紹這些種類的延遲加載的細(xì)節(jié)。
閱讀全文
摘要: 異常1:not-null property references a null or transient value
解決方法:將“一對多”關(guān)系中的“一”方,not-null設(shè)置為false
閱讀全文
摘要: 該class提供了一系列的靜態(tài)方法操作業(yè)已存在的符合JavaBean規(guī)范定義的Java Class.這里強(qiáng)調(diào)的JavaBean規(guī)范,簡單來說就是一個Java Class通過一系列g(shù)etter和setter的方法向外界展示其內(nèi)在的成員變量(屬性).通過BeanUtils的靜態(tài)方法,我們可以: 復(fù)制一個JavaBean的實(shí)例
閱讀全文