⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 performance.html

📁 关于hibernate的中文文档 关于hibernate的中文文档 关于hibernate的中文文档 关于hibernate的中文文档
💻 HTML
📖 第 1 页 / 共 5 页
字号:
            </p><pre class="programlisting">&lt;class name="CatImpl" proxy="Cat"&gt;    ......    &lt;subclass name="DomesticCatImpl" proxy="DomesticCat"&gt;        .....    &lt;/subclass&gt;&lt;/class&gt;</pre><p>								&#36825;&#37324;<tt class="literal">CatImpl</tt>&#23454;&#29616;&#20102;<tt class="literal">Cat</tt>&#25509;&#21475;&#65292;				<tt class="literal">DomesticCatImpl</tt>&#23454;&#29616;<tt class="literal">DomesticCat</tt>&#25509;&#21475;&#12290;				&#22312;<tt class="literal">load()</tt>&#12289;<tt class="literal">iterate()</tt>&#26041;&#27861;&#20013;&#23601;&#20250;&#36820;&#22238;				<tt class="literal">Cat</tt>&#21644;<tt class="literal">DomesticCat</tt>&#30340;&#20195;&#29702;&#23545;&#35937;&#12290;				(&#27880;&#24847;<tt class="literal">list()</tt>&#24182;&#19981;&#20250;&#36820;&#22238;&#20195;&#29702;&#23545;&#35937;&#12290;)		            </p><pre class="programlisting">Cat cat = (Cat) session.load(CatImpl.class, catid);Iterator iter = session.iterate("from CatImpl as cat where cat.name='fritz'");Cat fritz = (Cat) iter.next();</pre><p>							&#36825;&#37324;&#65292;&#23545;&#35937;&#20043;&#38388;&#30340;&#20851;&#31995;&#20063;&#23558;&#34987;&#24310;&#36831;&#36733;&#20837;&#12290;&#36825;&#23601;&#24847;&#21619;&#30528;&#65292;&#20320;&#24212;&#35813;&#23558;&#23646;&#24615;&#22768;&#26126;&#20026;<tt class="literal">Cat</tt>&#65292;&#32780;&#19981;&#26159;<tt class="literal">CatImpl</tt>&#12290;            </p><p>						&#20294;&#26159;&#65292;&#22312;&#26377;&#20123;&#26041;&#27861;&#20013;&#26159;<span class="emphasis"><em>&#19981;&#38656;&#35201;</em></span>&#20351;&#29992;&#20195;&#29702;&#30340;&#12290;&#20363;&#22914;&#65306;            </p><div class="itemizedlist"><ul type="disc" compact><li><p>						<tt class="literal">equals()</tt>&#26041;&#27861;&#65292;&#22914;&#26524;&#25345;&#20037;&#31867;&#27809;&#26377;&#37325;&#36733;<tt class="literal">equals()</tt>&#26041;&#27861;&#12290;						                    </p></li><li><p>						<tt class="literal">hashCode()</tt>&#26041;&#27861;&#65292;&#22914;&#26524;&#25345;&#20037;&#31867;&#27809;&#26377;&#37325;&#36733;<tt class="literal">hashCode()</tt>&#26041;&#27861;&#12290;                    </p></li><li><p>						&#26631;&#24535;&#31526;&#30340;getter&#26041;&#27861;&#12290;                    </p></li></ul></div><p>				Hibernate&#23558;&#20250;&#35782;&#21035;&#20986;&#37027;&#20123;&#37325;&#36733;&#20102;<tt class="literal">equals()</tt>&#12289;&#25110;<tt class="literal">hashCode()</tt>&#26041;&#27861;&#30340;&#25345;&#20037;&#21270;&#31867;&#12290;            </p><p>                &#33509;&#36873;&#25321;<tt class="literal">lazy="no-proxy"</tt>&#32780;&#38750;&#40664;&#35748;&#30340;<tt class="literal">lazy="proxy"</tt>&#65292;&#25105;&#20204;&#21487;&#20197;&#36991;&#20813;&#31867;&#22411;&#36716;&#25442;&#24102;&#26469;&#30340;&#38382;&#39064;&#12290;&#28982;&#32780;&#65292;&#36825;&#26679;&#25105;&#20204;&#23601;&#38656;&#35201;&#32534;&#35793;&#26399;&#23383;&#33410;&#30721;&#22686;&#24378;&#65292;&#24182;&#19988;&#25152;&#26377;&#30340;&#25805;&#20316;&#37117;&#20250;&#23548;&#33268;&#31435;&#21051;&#36827;&#34892;&#20195;&#29702;&#21021;&#22987;&#21270;&#12290;                            </p></div><div class="sect2" lang="zh-cn"><div class="titlepage"><div><div><h3 class="title"><a name="performance-fetching-initialization"></a>19.1.4.&nbsp;&#23454;&#20363;&#21270;&#38598;&#21512;&#21644;&#20195;&#29702;&#65288;Initializing collections and proxies&#65289;			</h3></div></div><div></div></div><p>				&#22312;<tt class="literal">Session</tt>&#33539;&#22260;&#20043;&#22806;&#35775;&#38382;&#26410;&#21021;&#22987;&#21270;&#30340;&#38598;&#21512;&#25110;&#20195;&#29702;&#65292;Hibernate&#23558;&#20250;&#25243;&#20986;<tt class="literal">LazyInitializationException</tt>&#24322;&#24120;&#12290;				&#20063;&#23601;&#26159;&#35828;&#65292;&#22312;&#20998;&#31163;&#29366;&#24577;&#19979;&#65292;&#35775;&#38382;&#19968;&#20010;&#23454;&#20307;&#25152;&#25317;&#26377;&#30340;&#38598;&#21512;&#65292;&#25110;&#32773;&#35775;&#38382;&#20854;&#25351;&#21521;&#20195;&#29702;&#30340;&#23646;&#24615;&#26102;&#65292;&#20250;&#24341;&#21457;&#27492;&#24322;&#24120;&#12290;            </p><p>							&#26377;&#26102;&#20505;&#25105;&#20204;&#38656;&#35201;&#20445;&#35777;&#26576;&#20010;&#20195;&#29702;&#25110;&#32773;&#38598;&#21512;&#22312;Session&#20851;&#38381;&#21069;&#23601;&#24050;&#32463;&#34987;&#21021;&#22987;&#21270;&#20102;&#12290;								&#24403;&#28982;&#65292;&#25105;&#20204;&#21487;&#20197;&#36890;&#36807;&#24378;&#34892;&#35843;&#29992;<tt class="literal">cat.getSex()</tt>&#25110;&#32773;<tt class="literal">cat.getKittens().size()</tt>&#20043;&#31867;&#30340;&#26041;&#27861;&#26469;&#30830;&#20445;&#36825;&#19968;&#28857;&#12290;				&#20294;&#26159;&#36825;&#26679;&#30340;&#31243;&#24207;&#20250;&#36896;&#25104;&#35835;&#32773;&#30340;&#30097;&#24785;&#65292;&#20063;&#19981;&#31526;&#21512;&#36890;&#24120;&#30340;&#20195;&#30721;&#35268;&#33539;&#12290;				            </p><p>							&#38745;&#24577;&#26041;&#27861;<tt class="literal">Hibernate.initialized()</tt>				&#20026;&#20320;&#30340;&#24212;&#29992;&#31243;&#24207;&#25552;&#20379;&#20102;&#19968;&#20010;&#20415;&#25463;&#30340;&#36884;&#24452;&#26469;&#24310;&#36831;&#21152;&#36733;&#38598;&#21512;&#25110;&#20195;&#29702;&#12290;				&#21482;&#35201;&#23427;&#30340;Session&#22788;&#20110;open&#29366;&#24577;&#65292;<tt class="literal">Hibernate.initialize(cat)</tt> &#23558;&#20250;&#20026;cat&#24378;&#21046;&#23545;&#20195;&#29702;&#23454;&#20363;&#21270;&#12290;				&#21516;&#26679;&#65292;<tt class="literal">Hibernate.initialize( cat.getKittens() )</tt> &#23545;kittens&#30340;&#38598;&#21512;&#20855;&#26377;&#21516;&#26679;&#30340;&#21151;&#33021;&#12290; 	        </p><p>							&#36824;&#26377;&#21478;&#22806;&#19968;&#31181;&#36873;&#25321;&#65292;&#23601;&#26159;&#20445;&#25345;<tt class="literal">Session</tt>&#19968;&#30452;&#22788;&#20110;open&#29366;&#24577;&#65292;&#30452;&#21040;&#25152;&#26377;&#38656;&#35201;&#30340;&#38598;&#21512;&#25110;&#20195;&#29702;&#37117;&#34987;&#36733;&#20837;&#12290;				&#22312;&#26576;&#20123;&#24212;&#29992;&#26550;&#26500;&#20013;&#65292;&#29305;&#21035;&#26159;&#23545;&#20110;&#37027;&#20123;&#20351;&#29992;Hibernate&#36827;&#34892;&#25968;&#25454;&#35775;&#38382;&#30340;&#20195;&#30721;&#65292;&#20197;&#21450;&#37027;&#20123;&#22312;&#19981;&#21516;&#24212;&#29992;&#23618;&#21644;&#19981;&#21516;&#29289;&#29702;&#36827;&#31243;&#20013;&#20351;&#29992;Hibernate&#30340;&#20195;&#30721;&#12290;				&#22312;&#38598;&#21512;&#23454;&#20363;&#21270;&#26102;&#65292;&#22914;&#20309;&#20445;&#35777;<tt class="literal">Session</tt>&#22788;&#20110;open&#29366;&#24577;&#32463;&#24120;&#20250;&#26159;&#19968;&#20010;&#38382;&#39064;&#12290;&#26377;&#20004;&#31181;&#26041;&#27861;&#21487;&#20197;&#35299;&#20915;&#27492;&#38382;&#39064;&#65306;				            </p><div class="itemizedlist"><ul type="disc"><li><p>						&#22312;&#19968;&#20010;&#22522;&#20110;Web&#30340;&#24212;&#29992;&#20013;&#65292;&#21487;&#20197;&#21033;&#29992;servlet&#36807;&#28388;&#22120;&#65288;filter&#65289;&#65292;&#22312;&#29992;&#25143;&#35831;&#27714;&#65288;request&#65289;&#32467;&#26463;&#12289;&#39029;&#38754;&#29983;&#25104;						&#32467;&#26463;&#26102;&#20851;&#38381;<tt class="literal">Session</tt>&#65288;&#36825;&#37324;&#20351;&#29992;&#20102;<span class="emphasis"><em>&#22312;&#23637;&#31034;&#23618;&#20445;&#25345;&#25171;&#24320;Session&#27169;&#24335;&#65288;Open Session in View&#65289;</em></span>&#65289;&#65292;						&#24403;&#28982;&#65292;&#36825;&#23558;&#20381;&#36182;&#20110;&#24212;&#29992;&#26694;&#26550;&#20013;&#24322;&#24120;&#38656;&#35201;&#34987;&#27491;&#30830;&#30340;&#22788;&#29702;&#12290;&#22312;&#36820;&#22238;&#30028;&#38754;&#32473;&#29992;&#25143;&#20043;&#21069;&#65292;&#20035;&#33267;&#22312;&#29983;&#25104;&#30028;&#38754;&#36807;&#31243;&#20013;&#21457;&#29983;&#24322;&#24120;&#30340;&#24773;&#20917;&#19979;&#65292;						&#27491;&#30830;&#20851;&#38381;<tt class="literal">Session</tt>&#21644;&#32467;&#26463;&#20107;&#21153;&#23558;&#26159;&#38750;&#24120;&#37325;&#35201;&#30340;&#65292;                        &#35831;&#21442;&#35265;Hibernate wiki&#19978;&#30340;"Open Session in View"&#27169;&#24335;&#65292;&#20320;&#21487;&#20197;&#25214;&#21040;&#31034;&#20363;&#12290;                    </p></li><li><p>											&#22312;&#19968;&#20010;&#25317;&#26377;&#21333;&#29420;&#19994;&#21153;&#23618;&#30340;&#24212;&#29992;&#20013;&#65292;&#19994;&#21153;&#23618;&#24517;&#39035;&#22312;&#36820;&#22238;&#20043;&#21069;&#65292;&#20026;web&#23618;&#8220;&#20934;&#22791;&#8221;&#22909;&#20854;&#25152;&#38656;&#30340;&#25968;&#25454;&#38598;&#21512;&#12290;&#36825;&#23601;&#24847;&#21619;&#30528;						&#19994;&#21153;&#23618;&#24212;&#35813;&#36733;&#20837;&#25152;&#26377;&#34920;&#29616;&#23618;/web&#23618;&#25152;&#38656;&#30340;&#25968;&#25454;&#65292;&#24182;&#23558;&#36825;&#20123;&#24050;&#23454;&#20363;&#21270;&#23436;&#27605;&#30340;&#25968;&#25454;&#36820;&#22238;&#12290;&#36890;&#24120;&#65292;&#24212;&#29992;&#31243;&#24207;&#24212;&#35813;						&#20026;web&#23618;&#25152;&#38656;&#30340;&#27599;&#20010;&#38598;&#21512;&#35843;&#29992;<tt class="literal">Hibernate.initialize()</tt>&#65288;&#36825;&#20010;&#35843;&#29992;&#24517;&#39035;&#21457;&#29983;&#21681;session&#20851;&#38381;&#20043;&#21069;&#65289;&#65307;						&#25110;&#32773;&#20351;&#29992;&#24102;&#26377;<tt class="literal">FETCH</tt>&#20174;&#21477;&#65292;&#25110;<tt class="literal">FetchMode.JOIN</tt>&#30340;Hibernate&#26597;&#35810;&#65292;						&#20107;&#20808;&#21462;&#24471;&#25152;&#26377;&#30340;&#25968;&#25454;&#38598;&#21512;&#12290;&#22914;&#26524;&#20320;&#22312;&#24212;&#29992;&#20013;&#20351;&#29992;&#20102;<span class="emphasis"><em>Command</em></span>&#27169;&#24335;&#65292;&#20195;&#26367;<span class="emphasis"><em>Session Facade</em></span>						&#65292;						&#37027;&#20040;&#36825;&#39033;&#20219;&#21153;&#23558;&#20250;&#21464;&#24471;&#31616;&#21333;&#30340;&#22810;&#12290;                    </p></li><li><p>						&#20320;&#20063;&#21487;&#20197;&#36890;&#36807;<tt class="literal">merge()</tt>&#25110;<tt class="literal">lock()</tt>&#26041;&#27861;&#65292;&#22312;&#35775;&#38382;&#26410;&#23454;&#20363;&#21270;&#30340;&#38598;&#21512;&#65288;&#25110;&#20195;&#29702;&#65289;&#20043;&#21069;&#65292;						&#20026;&#20808;&#21069;&#36733;&#20837;&#30340;&#23545;&#35937;&#32465;&#23450;&#19968;&#20010;&#26032;&#30340;<tt class="literal">Session</tt>&#12290;						&#26174;&#28982;&#65292;Hibernate&#23558;&#19981;&#20250;&#65292;&#20063;&#19981;<span class="emphasis"><em>&#24212;&#35813;</em></span>&#33258;&#21160;&#23436;&#25104;&#36825;&#20123;&#20219;&#21153;&#65292;&#22240;&#20026;&#36825;&#23558;&#24341;&#20837;&#19968;&#20010;&#29305;&#27530;&#30340;&#20107;&#21153;&#35821;&#20041;&#12290;                    </p></li></ul></div><p>				&#26377;&#26102;&#20505;&#65292;&#20320;&#24182;&#19981;&#38656;&#35201;&#23436;&#20840;&#23454;&#20363;&#21270;&#25972;&#20010;&#22823;&#30340;&#38598;&#21512;&#65292;&#20165;&#38656;&#35201;&#20102;&#35299;&#23427;&#30340;&#37096;&#20998;&#20449;&#24687;&#65288;&#20363;&#22914;&#20854;&#22823;&#23567;&#65289;&#12289;&#25110;&#32773;&#38598;&#21512;&#30340;&#37096;&#20998;&#20869;&#23481;&#12290;            </p><p>								&#20320;&#21487;&#20197;&#20351;&#29992;&#38598;&#21512;&#36807;&#28388;&#22120;&#24471;&#21040;&#20854;&#38598;&#21512;&#30340;&#22823;&#23567;&#65292;&#32780;&#19981;&#24517;&#23454;&#20363;&#21270;&#25972;&#20010;&#38598;&#21512;&#65306;            </p><pre class="programlisting">( (Integer) s.createFilter( collection, "select count(*)" ).list().get(0) ).intValue()</pre><p>				&#36825;&#37324;&#30340;<tt class="literal">createFilter()</tt>&#26041;&#27861;&#20063;&#21487;&#20197;&#34987;&#29992;&#26469;&#26377;&#25928;&#30340;&#25235;&#21462;&#38598;&#21512;&#30340;&#37096;&#20998;&#20869;&#23481;&#65292;&#32780;&#26080;&#38656;&#23454;&#20363;&#21270;&#25972;&#20010;&#38598;&#21512;&#65306;            </p><pre class="programlisting">s.createFilter( lazyCollection, "").setFirstResult(0).setMaxResults(10).list();</pre></div><div class="sect2" lang="zh-cn"><div class="titlepage"><div><div><h3 class="title"><a name="performance-fetching-batch"></a>19.1.5.&nbsp;&#20351;&#29992;&#25209;&#37327;&#25235;&#21462;&#65288;Using batch fetching&#65289;			</h3></div></div><div></div></div><p>				Hibernate&#21487;&#20197;&#20805;&#20998;&#26377;&#25928;&#30340;&#20351;&#29992;&#25209;&#37327;&#25235;&#21462;&#65292;&#20063;&#23601;&#26159;&#35828;&#65292;&#22914;&#26524;&#20165;&#19968;&#20010;&#35775;&#38382;&#20195;&#29702;&#65288;&#25110;&#38598;&#21512;&#65289;&#65292;&#37027;&#20040;Hibernate&#23558;&#19981;&#36733;&#20837;&#20854;&#20182;&#26410;&#23454;&#20363;&#21270;&#30340;&#20195;&#29702;&#12290;				&#25209;&#37327;&#25235;&#21462;&#26159;&#24310;&#36831;&#26597;&#35810;&#25235;&#21462;&#30340;&#20248;&#21270;&#26041;&#26696;&#65292;&#20320;&#21487;&#20197;&#22312;&#20004;&#31181;&#25209;&#37327;&#25235;&#21462;&#26041;&#26696;&#20043;&#38388;&#36827;&#34892;&#36873;&#25321;&#65306;&#22312;&#31867;&#32423;&#21035;&#21644;&#38598;&#21512;&#32423;&#21035;&#12290;				

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -