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

📄 transactions.html

📁 hibernate的中文教程,html形式,方便了初学者可以任意copy代码,完成知识点的学习
💻 HTML
📖 第 1 页 / 共 5 页
字号:
    // do some work    ...    factory.getCurrentSession().getTransaction().commit();}catch (RuntimeException e) {    factory.getCurrentSession().getTransaction().rollback();    throw e; // or display error message}</pre><p>                &#20320;&#24456;&#21487;&#33021;&#20174;&#26410;&#22312;&#19968;&#20010;&#36890;&#24120;&#30340;&#24212;&#29992;&#31243;&#24207;&#30340;&#19994;&#21153;&#20195;&#30721;&#20013;&#35265;&#36807;&#36825;&#26679;&#30340;&#20195;&#30721;&#29255;&#26029;&#65306;&#33268;&#21629;&#30340;&#65288;&#31995;&#32479;&#65289;&#24322;&#24120;&#24212;&#35813;&#24635;&#26159;                &#22312;&#24212;&#29992;&#31243;&#24207;&#8220;&#39030;&#23618;&#8221;&#34987;&#25429;&#33719;&#12290;&#25442;&#21477;&#35805;&#35828;&#65292;&#25191;&#34892;Hibernate&#35843;&#29992;&#30340;&#20195;&#30721;&#65288;&#22312;&#25345;&#20037;&#23618;&#65289;&#21644;&#22788;&#29702;                <tt class="literal">RuntimeException</tt>&#24322;&#24120;&#30340;&#20195;&#30721;&#65288;&#36890;&#24120;&#21482;&#33021;&#28165;&#29702;&#21644;&#36864;&#20986;&#24212;&#29992;&#31243;&#24207;&#65289;&#24212;&#35813;&#22312;&#19981;&#21516;                &#30340;&#24212;&#29992;&#31243;&#24207;&#36923;&#36753;&#23618;&#12290;Hibernate&#30340;&#24403;&#21069;&#19978;&#19979;&#25991;&#31649;&#29702;&#21487;&#20197;&#26497;&#22823;&#22320;&#31616;&#21270;&#36825;&#19968;&#35774;&#35745;&#65292;&#20320;&#25152;&#26377;&#30340;&#19968;&#20999;&#23601;&#26159;<tt class="literal">SessionFactory</tt>&#12290;              &#24322;&#24120;&#22788;&#29702;&#23558;&#22312;&#26412;&#31456;&#31245;&#21518;&#36827;&#34892;&#35752;&#35770;&#12290;            </p><p>                &#35831;&#27880;&#24847;&#65292;&#20320;&#24212;&#35813;&#36873;&#25321; <tt class="literal">org.hibernate.transaction.JDBCTransactionFactory</tt>                (&#36825;&#26159;&#40664;&#35748;&#36873;&#39033;)&#65292;&#23545;&#31532;&#20108;&#20010;&#20363;&#23376;&#26469;&#35828;&#65292;<tt class="literal">hibernate.current_session_context_class</tt>&#24212;&#35813;&#26159;<tt class="literal">"thread"</tt>            </p></div><div class="sect2" lang="zh-cn"><div class="titlepage"><div><div><h3 class="title"><a name="transactions-demarcation-jta"></a>11.2.2.&nbsp;&#20351;&#29992;JTA</h3></div></div><div></div></div><p>               	&#22914;&#26524;&#20320;&#30340;&#25345;&#20037;&#23618;&#36816;&#34892;&#22312;&#19968;&#20010;&#24212;&#29992;&#26381;&#21153;&#22120;&#20013;&#65288;&#20363;&#22914;&#65292;&#22312;EJB session beans&#30340;&#21518;&#38754;&#65289;&#65292;Hibernate&#33719;&#21462;               	&#30340;&#27599;&#20010;&#25968;&#25454;&#28304;&#36830;&#25509;&#23558;&#33258;&#21160;&#25104;&#20026;&#20840;&#23616;JTA&#20107;&#21153;&#30340;&#19968;&#37096;&#20998;&#12290;                &#20320;&#21487;&#20197;&#23433;&#35013;&#19968;&#20010;&#29420;&#31435;&#30340;JTA&#23454;&#29616;&#65292;&#20351;&#29992;&#23427;&#32780;&#19981;&#20351;&#29992;EJB&#12290;Hibernate&#25552;&#20379;&#20102;&#20004;&#31181;&#31574;&#30053;&#36827;&#34892;JTA&#38598;&#25104;&#12290;            </p><p>                &#22914;&#26524;&#20320;&#20351;&#29992;bean&#31649;&#29702;&#20107;&#21153;&#65288;BMT&#65289;&#65292;&#21487;&#20197;&#36890;&#36807;&#20351;&#29992;Hibernate&#30340; <tt class="literal">Transaction</tt> API&#26469;&#21578;&#35785;                &#24212;&#29992;&#26381;&#21153;&#22120;&#21551;&#21160;&#21644;&#32467;&#26463;BMT&#20107;&#21153;&#12290;&#22240;&#27492;&#65292;&#20107;&#21153;&#31649;&#29702;&#20195;&#30721;&#21644;&#22312;&#38750;&#25176;&#31649;&#29615;&#22659;&#19979;&#26159;&#19968;&#26679;&#30340;&#12290;            </p><pre class="programlisting">// BMT idiomSession sess = factory.openSession();Transaction tx = null;try {    tx = sess.beginTransaction();    // do some work    ...    tx.commit();}catch (RuntimeException e) {    if (tx != null) tx.rollback();    throw e; // or display error message}finally {    sess.close();}</pre><p>               &#22914;&#26524;&#20320;&#24076;&#26395;&#20351;&#29992;&#19982;&#20107;&#21153;&#32465;&#23450;&#30340;<tt class="literal">Session</tt>&#65292;&#20063;&#23601;&#26159;&#20351;&#29992;<tt class="literal">getCurrentSession()</tt>&#26469;&#31616;&#21270;&#19978;&#19979;&#25991;&#31649;&#29702;&#65292;&#20320;&#23558;&#19981;&#24471;&#19981;&#30452;&#25509;&#20351;&#29992;JTA <tt class="literal">UserTransaction</tt>API&#12290;            </p><pre class="programlisting">// BMT idiom with getCurrentSession()try {    UserTransaction tx = (UserTransaction)new InitialContext()                            .lookup("java:comp/UserTransaction");    tx.begin();    // Do some work on Session bound to transaction    factory.getCurrentSession().load(...);    factory.getCurrentSession().persist(...);    tx.commit();}catch (RuntimeException e) {    tx.rollback();    throw e; // or display error message}</pre><p>               &#22312;CMT&#26041;&#24335;&#19979;&#65292;&#20107;&#21153;&#22768;&#26126;&#26159;&#22312;session bean&#30340;&#37096;&#32626;&#25551;&#36848;&#31526;&#20013;&#65292;&#32780;&#19981;&#38656;&#35201;&#32534;&#31243;&#12290;               &#22240;&#27492;&#65292;&#20195;&#30721;&#34987;&#31616;&#21270;&#20026;:			</p><pre class="programlisting">// CMT idiomSession sess = factory.getCurrentSession();// do some work...</pre><p>                &#22312;CMT/EJB&#20013;&#29978;&#33267;&#20250;&#33258;&#21160;rollback&#65292;&#22240;&#20026;&#20551;&#33509;&#26377;&#26410;&#25429;&#33719;&#30340;<tt class="literal">RuntimeException</tt>&#20174;session bean&#26041;&#27861;&#20013;&#25243;&#20986;&#65292;&#36825;&#23601;&#20250;&#36890;&#30693;&#23481;&#22120;&#25226;&#20840;&#23616;&#20107;&#21153;&#22238;&#28378;&#12290;<span class="emphasis"><em>&#36825;&#23601;&#24847;&#21619;&#30528;&#65292;&#22312;BMT&#25110;&#32773;CMT&#20013;&#65292;&#20320;&#26681;&#26412;&#23601;&#19981;&#38656;&#35201;&#20351;&#29992;Hibernate <tt class="literal">Transaction</tt> API &#65292;&#20320;&#33258;&#21160;&#24471;&#21040;&#20102;&#32465;&#23450;&#21040;&#20107;&#21153;&#30340;&#8220;&#24403;&#21069;&#8221;Session&#12290;                </em></span>

⌨️ 快捷键说明

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