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

📄 architecture.html

📁 关于hibernate的中文文档 关于hibernate的中文文档 关于hibernate的中文文档 关于hibernate的中文文档
💻 HTML
📖 第 1 页 / 共 2 页
字号:
                        &#23454;&#20363;&#30446;&#21069;&#19982;&#26576;&#20010;&#25345;&#20037;&#21270;&#19978;&#19979;&#25991;&#26377;&#20851;&#32852;&#12290;                        &#23427;&#25317;&#26377;&#25345;&#20037;&#21270;&#26631;&#35782;&#65288;&#30456;&#24403;&#20110;&#20027;&#38190;&#20540;&#65289;&#65292;&#24182;&#19988;&#21487;&#33021;&#22312;&#25968;&#25454;&#24211;&#20013;&#26377;&#19968;&#20010;&#23545;&#24212;&#30340;&#34892;&#12290;                        &#23545;&#20110;&#26576;&#19968;&#20010;&#29305;&#23450;&#30340;&#25345;&#20037;&#21270;&#19978;&#19979;&#25991;&#65292;Hibernate<span class="emphasis"><em>&#20445;&#35777;</em></span>&#25345;&#20037;&#21270;&#26631;&#35782;&#19982;Java&#26631;&#35782;&#65288;&#20854;&#20540;&#20195;&#34920;&#23545;&#35937;&#22312;&#20869;&#23384;&#20013;&#30340;&#20301;&#32622;&#65289;&#31561;&#20215;&#12290;                    </p></dd><dt><span class="term">&#33073;&#31649;(detached)</span></dt><dd><p>                        &#23454;&#20363;&#26366;&#32463;&#19982;&#26576;&#20010;&#25345;&#20037;&#21270;&#19978;&#19979;&#25991;&#21457;&#29983;&#36807;&#20851;&#32852;&#65292;&#19981;&#36807;&#37027;&#20010;&#19978;&#19979;&#25991;&#34987;&#20851;&#38381;&#20102;&#65292;                        &#25110;&#32773;&#36825;&#20010;&#23454;&#20363;&#26159;&#34987;&#24207;&#21015;&#21270;(serialize)&#21040;&#21478;&#22806;&#30340;&#36827;&#31243;&#12290;                        &#23427;&#25317;&#26377;&#25345;&#20037;&#21270;&#26631;&#35782;&#65292;&#24182;&#19988;&#22312;&#25968;&#25454;&#24211;&#20013;&#21487;&#33021;&#23384;&#22312;&#19968;&#20010;&#23545;&#24212;&#30340;&#34892;&#12290;                        &#23545;&#20110;&#33073;&#31649;&#29366;&#24577;&#30340;&#23454;&#20363;&#65292;Hibernate&#19981;&#20445;&#35777;&#20219;&#20309;&#25345;&#20037;&#21270;&#26631;&#35782;&#21644;Java&#26631;&#35782;&#30340;&#20851;&#31995;&#12290;                    </p></dd></dl></div></div><div class="sect1" lang="zh-cn"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="architecture-jmx"></a>2.3.&nbsp;JMX&#25972;&#21512;</h2></div></div><div></div></div><p>            JMX&#26159;&#31649;&#29702;Java&#32452;&#20214;(Java components)&#30340;J2EE&#26631;&#20934;&#12290; Hibernate &#21487;&#20197;&#36890;&#36807;&#19968;&#20010;JMX&#26631;&#20934;&#26381;&#21153;&#26469;&#31649;&#29702;&#12290;            &#22312;&#36825;&#20010;&#21457;&#34892;&#29256;&#26412;&#20013;&#65292;&#25105;&#20204;&#25552;&#20379;&#20102;&#19968;&#20010;MBean&#25509;&#21475;&#30340;&#23454;&#29616;,&#21363;            <tt class="literal">org.hibernate.jmx.HibernateService</tt>&#12290;        </p><p>            &#24819;&#35201;&#30475;&#22914;&#20309;&#22312;JBoss&#24212;&#29992;&#26381;&#21153;&#22120;&#19978;&#23558;Hibernate&#37096;&#32626;&#20026;&#19968;&#20010;JMX&#26381;&#21153;&#30340;&#20363;&#23376;&#65292;&#24744;&#21487;&#20197;&#21442;&#32771;JBoss&#29992;&#25143;&#25351;&#21335;&#12290;            &#25105;&#20204;&#29616;&#22312;&#35828;&#19968;&#19979;&#22312;Jboss&#24212;&#29992;&#26381;&#21153;&#22120;&#19978;&#65292;&#20351;&#29992;JMX&#26469;&#37096;&#32626;Hibernate&#30340;&#22909;&#22788;&#65306;        </p><div class="itemizedlist"><ul type="disc"><li><p>                    <span class="emphasis"><em>Session&#31649;&#29702;&#65306;</em></span> Hibernate&#30340;<tt class="literal">Session</tt>&#23545;&#35937;&#30340;&#29983;&#21629;&#21608;&#26399;&#21487;&#20197;                    &#33258;&#21160;&#36319;&#19968;&#20010;JTA&#20107;&#21153;&#36793;&#30028;&#32465;&#23450;&#12290;&#36825;&#24847;&#21619;&#30528;&#20320;&#26080;&#38656;&#25163;&#24037;&#24320;&#20851;<tt class="literal">Session</tt>&#20102;, &#36825;&#39033;                    &#24037;&#20316;&#20250;&#30001;JBoss EJB &#25318;&#25130;&#22120;&#26469;&#23436;&#25104;&#12290;&#20320;&#20877;&#20063;&#19981;&#29992;&#25285;&#24515;&#20320;&#30340;&#20195;&#30721;&#20013;&#30340;&#20107;&#21153;&#36793;&#30028;&#20102;(&#38500;&#38750;&#20320;&#24819;&#21033;&#29992;Hibernate&#25552;&#20379;&#21487;&#36873;                    &#30340;<tt class="literal">Transaction</tt> API&#26469;&#33258;&#24049;&#20889;&#19968;&#20010;&#20415;&#20110;&#31227;&#26893;&#30340;&#30340;&#25345;&#20037;&#23618;)&#12290;                     &#20320;&#36890;&#36807;&#35843;&#29992;<tt class="literal">HibernateContext</tt>&#26469;&#35775;&#38382;<tt class="literal">Session</tt>&#12290;                </p></li><li><p>                    <span class="emphasis"><em>HAR &#37096;&#32626;:</em></span> &#36890;&#24120;&#24773;&#20917;&#19979;&#65292;&#20320;&#20250;&#20351;&#29992;JBoss&#30340;&#26381;&#21153;&#37096;&#32626;&#25551;&#36848;&#31526;&#65288;&#22312;EAR&#25110;/&#21644;SAR&#25991;&#20214;&#20013;&#65289;&#26469;&#37096;&#32626;Hibernate JMX&#26381;&#21153;&#12290;                    &#36825;&#31181;&#37096;&#32626;&#26041;&#24335;&#25903;&#25345;&#25152;&#26377;&#24120;&#35265;&#30340;Hibernate <tt class="literal">SessionFactory</tt>&#30340;&#37197;&#32622;&#36873;&#39033;&#12290;                    &#19981;&#36807;&#65292;&#20320;&#20173;&#38656;&#22312;&#37096;&#32626;&#25551;&#36848;&#31526;&#20013;&#65292;&#21015;&#20986;&#20320;&#25152;&#26377;&#30340;&#26144;&#23556;&#25991;&#20214;&#30340;&#21517;&#23383;&#12290;&#22914;&#26524;&#20320;&#20351;&#29992;HAR&#37096;&#32626;&#26041;&#24335;, JBoss                     &#20250;&#33258;&#21160;&#25506;&#27979;&#20986;&#20320;&#30340;HAR&#25991;&#20214;&#20013;&#25152;&#26377;&#30340;&#26144;&#23556;&#25991;&#20214;&#12290;                </p></li></ul></div><p>            &#36825;&#20123;&#36873;&#39033;&#26356;&#22810;&#30340;&#25551;&#36848;&#65292;&#35831;&#21442;&#32771;JBoss &#24212;&#29992;&#31243;&#24207;&#29992;&#25143;&#25351;&#21335;&#12290;        </p><p>            &#23558;Hibernate&#20197;&#37096;&#32626;&#20026;JMX&#26381;&#21153;&#30340;&#21478;&#19968;&#20010;&#22909;&#22788;&#65292;&#26159;&#21487;&#20197;&#26597;&#30475;Hibernate&#30340;&#36816;&#34892;&#26102;&#32479;&#35745;&#20449;&#24687;&#12290;&#21442;&#30475;            <a href="session-configuration.html#configuration-optional-statistics" title="3.4.6.&nbsp;&#xA;                Hibernate&#30340;&#32479;&#35745;(statistics)&#26426;&#21046;&#xA;            ">&#31532;&nbsp;3.4.6&nbsp;&#33410; &#8220;                Hibernate&#30340;&#32479;&#35745;(statistics)&#26426;&#21046;            &#8221;</a>.        </p></div><div class="sect1" lang="zh-cn"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="architecture-jca"></a>2.4.&nbsp;&#23545;JCA&#30340;&#25903;&#25345;</h2></div></div><div></div></div><p>            Hibernate&#20063;&#21487;&#20197;&#34987;&#37197;&#32622;&#20026;&#19968;&#20010;JCA&#36830;&#25509;&#22120;&#65288;JCA connector&#65289;&#12290;&#26356;&#22810;&#20449;&#24687;&#35831;&#21442;&#30475;&#32593;&#31449;&#12290;            &#35831;&#27880;&#24847;&#65292;Hibernate&#23545;JCA&#30340;&#25903;&#25345;&#65292;&#20173;&#22788;&#20110;&#23454;&#39564;&#24615;&#38454;&#27573;&#12290;        </p></div><div class="sect1" lang="zh-cn"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="architecture-current-session"></a>2.5.&nbsp;&#19978;&#19979;&#25991;&#30456;&#20851;&#30340;&#65288;Contextual&#65289;Session</h2></div></div><div></div></div><p>           	&#20351;&#29992;Hibernate&#30340;&#22823;&#22810;&#25968;&#24212;&#29992;&#31243;&#24207;&#38656;&#35201;&#26576;&#31181;&#24418;&#24335;&#30340;&#8220;&#19978;&#19979;&#25991;&#30456;&#20851;&#30340;&#8221; session&#65292;&#29305;&#23450;&#30340;session&#22312;&#25972;&#20010;&#29305;&#23450;&#30340;&#19978;&#19979;&#25991;&#33539;&#22260;&#20869;&#22987;&#32456;&#26377;&#25928;&#12290;&#28982;&#32780;&#65292;&#23545;&#19981;&#21516;&#31867;&#22411;&#30340;&#24212;&#29992;&#31243;&#24207;&#32780;&#35328;&#65292;&#35201;&#20026;&#20160;&#20040;&#26159;&#32452;&#25104;&#36825;&#31181;&#8220;&#19978;&#19979;&#25991;&#8221;&#19979;&#19968;&#20010;&#23450;&#20041;&#36890;&#24120;&#26159;&#22256;&#38590;&#30340;&#65307;&#19981;&#21516;&#30340;&#19978;&#19979;&#25991;&#23545;&#8220;&#24403;&#21069;&#8221;&#36825;&#20010;&#27010;&#24565;&#23450;&#20041;&#20102;&#19981;&#21516;&#30340;&#33539;&#22260;&#12290;&#22312;3.0&#29256;&#26412;&#20043;&#21069;&#65292;&#20351;&#29992;Hibernate&#30340;&#31243;&#24207;&#35201;&#20040;&#37319;&#29992;&#33258;&#34892;&#32534;&#20889;&#30340;&#22522;&#20110;<tt class="literal">ThreadLocal</tt>&#30340;&#19978;&#19979;&#25991;session&#65292;&#35201;&#20040;&#37319;&#29992;<tt class="literal">HibernateUtil</tt>&#36825;&#26679;&#30340;&#36741;&#21161;&#31867;&#65292;&#35201;&#20040;&#37319;&#29992;&#31532;&#19977;&#26041;&#26694;&#26550;&#65288;&#27604;&#22914;Spring&#25110;Pico)&#65292;&#23427;&#20204;&#25552;&#20379;&#20102;&#22522;&#20110;&#20195;&#29702;(proxy)&#25110;&#32773;&#22522;&#20110;&#25318;&#25130;&#22120;(interception)&#30340;&#19978;&#19979;&#25991;&#30456;&#20851;session&#12290;        </p><p>            &#20174;3.0.1&#29256;&#26412;&#24320;&#22987;&#65292;Hibernate&#22686;&#21152;&#20102;<tt class="literal">SessionFactory.getCurrentSession()</tt>&#26041;&#27861;&#12290;&#19968;&#24320;&#22987;&#65292;&#23427;&#20551;&#23450;&#20102;&#37319;&#29992;<tt class="literal">JTA</tt>&#20107;&#21153;&#65292;<tt class="literal">JTA</tt>&#20107;&#21153;&#23450;&#20041;&#20102;&#24403;&#21069;session&#30340;&#33539;&#22260;&#21644;&#19978;&#19979;&#25991;(scope and context)&#12290;Hibernate&#24320;&#21457;&#22242;&#38431;&#22362;&#20449;&#65292;&#22240;&#20026;&#26377;&#22909;&#20960;&#20010;&#29420;&#31435;&#30340;<tt class="literal">JTA TransactionManager</tt>&#23454;&#29616;&#31283;&#23450;&#21487;&#29992;&#65292;&#19981;&#35770;&#26159;&#21542;&#34987;&#37096;&#32626;&#21040;&#19968;&#20010;<tt class="literal">J2EE</tt>&#23481;&#22120;&#20013;&#65292;&#22823;&#22810;&#25968;(&#20551;&#33509;&#19981;&#26159;&#25152;&#26377;&#30340;&#65289;&#24212;&#29992;&#31243;&#24207;&#37117;&#24212;&#35813;&#37319;&#29992;<tt class="literal">JTA</tt>&#20107;&#21153;&#31649;&#29702;&#12290;&#22522;&#20110;&#36825;&#19968;&#28857;&#65292;&#37319;&#29992;<tt class="literal">JTA</tt>&#30340;&#19978;&#19979;&#25991;&#30456;&#20851;session&#21487;&#20197;&#28385;&#36275;&#20320;&#19968;&#20999;&#38656;&#35201;&#12290;        </p><p>            &#26356;&#22909;&#30340;&#26159;&#65292;&#20174;3.1&#24320;&#22987;&#65292;<tt class="literal">SessionFactory.getCurrentSession()</tt>&#30340;&#21518;&#21488;&#23454;&#29616;&#26159;&#21487;&#25300;&#25554;&#30340;&#12290;&#22240;&#27492;&#65292;&#25105;&#20204;&#24341;&#20837;&#20102;&#26032;&#30340;&#25193;&#23637;&#25509;&#21475;(<tt class="literal">org.hibernate.context.CurrentSessionContext</tt>)&#21644;&#26032;&#30340;&#37197;&#32622;&#21442;&#25968;(<tt class="literal">hibernate.current_session_context_class</tt>)&#65292;&#20197;&#20415;&#23545;&#20160;&#20040;&#26159;&#8220;&#24403;&#21069;session&#8221;&#30340;&#33539;&#22260;&#21644;&#19978;&#19979;&#25991;(scope and context)&#30340;&#23450;&#20041;&#36827;&#34892;&#25300;&#25554;&#12290;        </p><p>            &#35831;&#21442;&#38405;<tt class="literal">org.hibernate.context.CurrentSessionContext</tt>&#25509;&#21475;&#30340;Javadoc,&#37027;&#37324;&#26377;&#20851;&#20110;&#23427;&#30340;&#22865;&#32422;&#30340;&#35814;&#32454;&#35752;&#35770;&#12290;&#23427;&#23450;&#20041;&#20102;&#21333;&#19968;&#30340;&#26041;&#27861;&#65292;<tt class="literal">currentSession()</tt>&#65292;&#29305;&#23450;&#30340;&#23454;&#29616;&#29992;&#23427;&#26469;&#36127;&#36131;&#36319;&#36394;&#24403;&#21069;&#30340;&#19978;&#19979;&#25991;session&#12290;Hibernate&#20869;&#32622;&#20102;&#27492;&#25509;&#21475;&#30340;&#20004;&#31181;&#23454;&#29616;&#12290;        </p><div class="itemizedlist"><ul type="disc"><li><p>                    <tt class="literal">org.hibernate.context.JTASessionContext</tt> - &#24403;&#21069;session&#26681;&#25454;<tt class="literal">JTA</tt>&#26469;&#36319;&#36394;&#21644;&#30028;&#23450;&#12290;&#36825;&#21644;&#20197;&#21069;&#30340;&#20165;&#25903;&#25345;JTA&#30340;&#26041;&#27861;&#26159;&#23436;&#20840;&#19968;&#26679;&#30340;&#12290;&#35814;&#24773;&#35831;&#21442;&#38405;Javadoc&#12290;                </p></li><li><p>                    <tt class="literal">org.hibernate.context.ThreadLocalSessionContext</tt> - &#24403;&#21069;session&#36890;&#36807;&#24403;&#21069;&#25191;&#34892;&#30340;&#32447;&#31243;&#26469;&#36319;&#36394;&#21644;&#30028;&#23450;&#12290;&#35814;&#24773;&#20063;&#35831;&#21442;&#38405;Javadoc&#12290;                </p></li></ul></div><p>            &#36825;&#20004;&#31181;&#23454;&#29616;&#37117;&#25552;&#20379;&#20102;&#8220;&#27599;&#25968;&#25454;&#24211;&#20107;&#21153;&#23545;&#24212;&#19968;&#20010;session&#8221;&#30340;&#32534;&#31243;&#27169;&#22411;&#65292;&#20063;&#31216;&#20316;<span class="emphasis"><em>&#27599;&#27425;&#35831;&#27714;&#19968;&#20010;session</em></span>&#12290;Hibernate session&#30340;&#36215;&#22987;&#21644;&#32456;&#32467;&#30001;&#25968;&#25454;&#24211;&#20107;&#21153;&#30340;&#29983;&#23384;&#26469;&#25511;&#21046;&#12290;&#20551;&#33509;&#20320;&#37319;&#29992;&#33258;&#34892;&#32534;&#20889;&#20195;&#30721;&#26469;&#31649;&#29702;&#20107;&#21153;&#65288;&#27604;&#22914;&#65292;&#22312;&#32431;&#31929;&#30340;J2SE,&#25110;&#32773;JTA/UserTransaction/BMT&#65289;&#65292;&#24314;&#35758;&#20320;&#20351;&#29992;Hibernate <tt class="literal">Transaction</tt> API&#26469;&#25226;&#24213;&#23618;&#20107;&#21153;&#23454;&#29616;&#20174;&#20320;&#30340;&#20195;&#30721;&#20013;&#38544;&#34255;&#25481;&#12290;&#22914;&#26524;&#20320;&#22312;&#25903;&#25345;CMT&#30340;EJB&#23481;&#22120;&#20013;&#25191;&#34892;&#65292;&#20107;&#21153;&#36793;&#30028;&#26159;&#22768;&#26126;&#24335;&#23450;&#20041;&#30340;&#65292;&#20320;&#19981;&#38656;&#35201;&#22312;&#20195;&#30721;&#20013;&#36827;&#34892;&#20219;&#20309;&#20107;&#21153;&#25110;session&#31649;&#29702;&#25805;&#20316;&#12290;&#35831;&#21442;&#38405;<a href="transactions.html" title="&#31532;&nbsp;11&nbsp;&#31456;&nbsp;&#20107;&#21153;&#21644;&#24182;&#21457;">&#31532;&nbsp;11&nbsp;&#31456; <i>&#20107;&#21153;&#21644;&#24182;&#21457;</i></a>&#19968;&#33410;&#26469;&#38405;&#35835;&#26356;&#22810;&#30340;&#20869;&#23481;&#21644;&#31034;&#20363;&#20195;&#30721;&#12290;        </p><p>            <tt class="literal">hibernate.current_session_context_class</tt>&#37197;&#32622;&#21442;&#25968;&#23450;&#20041;&#20102;&#24212;&#35813;&#37319;&#29992;&#21738;&#20010;<tt class="literal">org.hibernate.context.CurrentSessionContext</tt>&#23454;&#29616;&#12290;&#27880;&#24847;&#65292;&#20026;&#20102;&#21521;&#19979;&#20860;&#23481;&#65292;&#22914;&#26524;&#26410;&#37197;&#32622;&#27492;&#21442;&#25968;&#65292;&#20294;&#26159;&#23384;&#22312;<tt class="literal">org.hibernate.transaction.TransactionManagerLookup</tt>&#30340;&#37197;&#32622;&#65292;Hibernate&#20250;&#37319;&#29992;<tt class="literal">org.hibernate.context.JTASessionContext</tt>&#12290;&#19968;&#33324;&#32780;&#35328;&#65292;&#27492;&#21442;&#25968;&#30340;&#20540;&#25351;&#26126;&#20102;&#35201;&#20351;&#29992;&#30340;&#23454;&#29616;&#31867;&#30340;&#20840;&#21517;&#65292;&#20294;&#37027;&#20004;&#20010;&#20869;&#32622;&#30340;&#23454;&#29616;&#21487;&#20197;&#20351;&#29992;&#31616;&#20889;&#65292;&#21363;"jta"&#21644;"thread"&#12290;                    </p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="tutorial.html">&#19978;&#19968;&#39029;</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="index.html">&#19978;&#19968;&#32423;</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="session-configuration.html">&#19979;&#19968;&#39029;</a></td></tr><tr><td width="40%" align="left" valign="top">&#31532;&nbsp;1&nbsp;&#31456;&nbsp;		Hibernate&#20837;&#38376;	&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">&#36215;&#22987;&#39029;</a></td><td width="40%" align="right" valign="top">&nbsp;&#31532;&nbsp;3&nbsp;&#31456;&nbsp;        &#37197;&#32622;    </td></tr></table></div></body></html>

⌨️ 快捷键说明

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