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

📄 objectstate.html

📁 是一个中文的Hibernate库文档
💻 HTML
📖 第 1 页 / 共 5 页
字号:
<html><head>      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">   <title>&#31532;&nbsp;11&nbsp;&#31456;&nbsp;&#19982;&#23545;&#35937;&#20849;&#20107;</title><link rel="stylesheet" href="../shared/css/html.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.65.1"><link rel="home" href="index.html" title="HIBERNATE - &#31526;&#21512;Java&#20064;&#24815;&#30340;&#20851;&#31995;&#25968;&#25454;&#24211;&#25345;&#20037;&#21270;"><link rel="up" href="index.html" title="HIBERNATE - &#31526;&#21512;Java&#20064;&#24815;&#30340;&#20851;&#31995;&#25968;&#25454;&#24211;&#25345;&#20037;&#21270;"><link rel="previous" href="inheritance.html" title="&#31532;&nbsp;10&nbsp;&#31456;&nbsp;&#32487;&#25215;&#26144;&#23556;(Inheritance Mappings)"><link rel="next" href="transactions.html" title="&#31532;&nbsp;12&nbsp;&#31456;&nbsp;&#20107;&#21153;&#21644;&#24182;&#21457;"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">&#31532;&nbsp;11&nbsp;&#31456;&nbsp;&#19982;&#23545;&#35937;&#20849;&#20107;</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="inheritance.html">&#19978;&#19968;&#39029;</a>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="transactions.html">&#19979;&#19968;&#39029;</a></td></tr></table><hr></div><div class="chapter" lang="zh-cn"><div class="titlepage"><div><div><h2 class="title"><a name="objectstate"></a>&#31532;&nbsp;11&nbsp;&#31456;&nbsp;&#19982;&#23545;&#35937;&#20849;&#20107;</h2></div></div><div></div></div><p>	    Hibernate&#26159;&#23436;&#25972;&#30340;&#23545;&#35937;/&#20851;&#31995;&#26144;&#23556;&#35299;&#20915;&#26041;&#26696;&#65292;&#23427;&#25552;&#20379;&#20102;&#23545;&#35937;<span class="emphasis"><em>&#29366;&#24577;&#31649;&#29702;(state management)</em></span>&#30340;&#21151;&#33021;&#65292;&#20351;&#24320;&#21457;&#32773;&#19981;&#20877;&#38656;&#35201;&#29702;&#20250;&#24213;&#23618;&#25968;&#25454;&#24211;&#31995;&#32479;&#30340;&#32454;&#33410;&#12290;		&#20063;&#23601;&#26159;&#35828;&#65292;&#30456;&#23545;&#20110;&#24120;&#35265;&#30340;JDBC/SQL&#25345;&#20037;&#23618;&#26041;&#26696;&#20013;&#38656;&#35201;<tt class="literal">&#31649;&#29702;SQL&#35821;&#21477;</tt>&#65292;Hibernate&#37319;&#29992;&#20102;&#26356;&#33258;&#28982;&#30340;&#38754;&#21521;&#23545;&#35937;&#30340;&#35270;&#35282;&#26469;&#25345;&#20037;&#21270;Java&#24212;&#29992;&#20013;&#30340;&#25968;&#25454;&#12290;    </p><p>		&#25442;&#21477;&#35805;&#35828;&#65292;&#20351;&#29992;Hibernate&#30340;&#24320;&#21457;&#32773;&#24212;&#35813;&#24635;&#26159;&#20851;&#27880;&#23545;&#35937;&#30340;<span class="emphasis"><em>&#29366;&#24577;(state)</em></span>&#65292;&#19981;&#24517;&#32771;&#34385;SQL&#35821;&#21477;&#30340;&#25191;&#34892;&#12290;		&#36825;&#37096;&#20998;&#32454;&#33410;&#24050;&#32463;&#30001;Hibernate&#25484;&#31649;&#22949;&#24403;&#65292;&#21482;&#26377;&#24320;&#21457;&#32773;&#22312;&#36827;&#34892;&#31995;&#32479;&#24615;&#33021;&#35843;&#20248;&#30340;&#26102;&#20505;&#25165;&#38656;&#35201;&#36827;&#34892;&#20102;&#35299;&#12290;    </p><div class="sect1" lang="zh-cn"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="objectstate-overview"></a>11.1.&nbsp;Hibernate&#23545;&#35937;&#29366;&#24577;(object states)</h2></div></div><div></div></div><p>            Hibernate&#23450;&#20041;&#24182;&#25903;&#25345;&#19979;&#21015;&#23545;&#35937;&#29366;&#24577;(state):        </p><div class="itemizedlist"><ul type="disc"><li><p>                    <span class="emphasis"><em>&#30636;&#26102;(Transient)</em></span> - &#30001;<tt class="literal">new</tt>&#25805;&#20316;&#31526;&#21019;&#24314;&#65292;&#19988;&#23578;&#26410;&#19982;Hibernate <tt class="literal">Session</tt>					&#20851;&#32852;&#30340;&#23545;&#35937;&#34987;&#35748;&#23450;&#20026;&#30636;&#26102;(Transient)&#30340;&#12290;&#30636;&#26102;(Transient)&#23545;&#35937;&#19981;&#20250;&#34987;&#25345;&#20037;&#21270;&#21040;&#25968;&#25454;&#24211;&#20013;&#65292;&#20063;&#19981;&#20250;&#34987;&#36171;&#20104;&#25345;&#20037;&#21270;&#26631;&#35782;(identifier)&#12290;					&#22914;&#26524;&#31243;&#24207;&#20013;&#27809;&#26377;&#20445;&#25345;&#23545;&#30636;&#26102;(Transient)&#23545;&#35937;&#30340;&#24341;&#29992;&#65292;&#23427;&#20250;&#34987;&#22403;&#22334;&#22238;&#25910;&#22120;(garbage collector)&#38144;&#27585;&#12290;					&#20351;&#29992;Hibernate <tt class="literal">Session</tt>&#21487;&#20197;&#23558;&#20854;&#21464;&#20026;&#25345;&#20037;(Persistent)&#29366;&#24577;&#12290;(Hibernate&#20250;&#33258;&#21160;&#25191;&#34892;&#24517;&#35201;&#30340;SQL&#35821;&#21477;)                </p></li><li><p>                    <span class="emphasis"><em>&#25345;&#20037;(Persistent)</em></span> - &#25345;&#20037;(Persistent)&#30340;&#23454;&#20363;&#22312;&#25968;&#25454;&#24211;&#20013;&#26377;&#23545;&#24212;&#30340;&#35760;&#24405;&#65292;&#24182;&#25317;&#26377;&#19968;&#20010;&#25345;&#20037;&#21270;&#26631;&#35782;(identifier)&#12290;					&#25345;&#20037;(Persistent)&#30340;&#23454;&#20363;&#21487;&#33021;&#26159;&#21018;&#34987;&#20445;&#23384;&#30340;&#65292;&#25110;&#21018;&#34987;&#21152;&#36733;&#30340;&#65292;&#26080;&#35770;&#21738;&#19968;&#31181;&#65292;&#25353;&#23450;&#20041;&#23545;&#35937;&#37117;&#20165;&#22312;&#30456;&#20851;&#32852;&#30340;<tt class="literal">Session</tt>&#29983;&#21629;&#21608;&#26399;&#20869;&#30340;&#20445;&#25345;&#36825;&#31181;&#29366;&#24577;&#12290;					Hibernate&#20250;&#26816;&#27979;&#21040;&#22788;&#20110;&#25345;&#20037;(Persistent)&#29366;&#24577;&#30340;&#23545;&#35937;&#30340;&#20219;&#20309;&#25913;&#21160;&#65292;&#22312;&#24403;&#21069;&#25805;&#20316;&#21333;&#20803;(unit of work)&#25191;&#34892;&#23436;&#27605;&#26102;&#23558;&#23545;&#35937;&#25968;&#25454;(state)&#19982;&#25968;&#25454;&#24211;&#21516;&#27493;(synchronize)&#12290;					&#24320;&#21457;&#32773;&#19981;&#38656;&#35201;&#25163;&#21160;&#25191;&#34892;<tt class="literal">UPDATE</tt>&#12290;&#23558;&#23545;&#35937;&#20174;&#25345;&#20037;(Persistent)&#29366;&#24577;&#21464;&#25104;&#30636;&#26102;(Transient)&#29366;&#24577;&#21516;&#26679;&#20063;&#19981;&#38656;&#35201;&#25163;&#21160;&#25191;&#34892;<tt class="literal">DELETE</tt>&#35821;&#21477;&#12290;                </p></li><li><p>                    <span class="emphasis"><em>&#33073;&#31649;(Detached)</em></span> - &#19982;&#25345;&#20037;(Persistent)&#23545;&#35937;&#20851;&#32852;&#30340;<tt class="literal">Session</tt>&#34987;&#20851;&#38381;&#21518;&#65292;&#23545;&#35937;&#23601;&#21464;&#20026;&#33073;&#31649;(Detached)&#30340;&#12290;					&#23545;&#33073;&#31649;(Detached)&#23545;&#35937;&#30340;&#24341;&#29992;&#20381;&#28982;&#26377;&#25928;&#65292;&#23545;&#35937;&#21487;&#32487;&#32493;&#34987;&#20462;&#25913;&#12290;&#33073;&#31649;(Detached)&#23545;&#35937;&#22914;&#26524;&#37325;&#26032;&#20851;&#32852;&#21040;&#26576;&#20010;&#26032;&#30340;<tt class="literal">Session</tt>&#19978;&#65292;					&#20250;&#20877;&#27425;&#36716;&#21464;&#20026;&#25345;&#20037;(Persistent)&#30340;(Detached&#20854;&#38388;&#30340;&#25913;&#21160;&#23558;&#34987;&#25345;&#20037;&#21270;&#21040;&#25968;&#25454;&#24211;)&#12290;                	&#36825;&#20010;&#21151;&#33021;&#20351;&#24471;&#19968;&#31181;&#32534;&#31243;&#27169;&#22411;&#65292;&#21363;&#20013;&#38388;&#20250;&#32473;&#29992;&#25143;&#24605;&#32771;&#26102;&#38388;(user think-time)&#30340;&#38271;&#26102;&#38388;&#36816;&#34892;&#30340;&#25805;&#20316;&#21333;&#20803;(unit of work)&#30340;&#32534;&#31243;&#27169;&#22411;&#25104;&#20026;&#21487;&#33021;&#12290;                	&#25105;&#20204;&#31216;&#20043;&#20026;<span class="emphasis"><em>&#24212;&#29992;&#31243;&#24207;&#20107;&#21153;</em></span>&#65292;&#21363;&#20174;&#29992;&#25143;&#35266;&#28857;&#30475;&#26159;&#19968;&#20010;&#25805;&#20316;&#21333;&#20803;(unit of work)&#12290;                </p></li></ul></div><p>			&#25509;&#19979;&#26469;&#25105;&#20204;&#26469;&#32454;&#33268;&#30340;&#35752;&#35770;&#19979;&#29366;&#24577;(states)&#21450;&#29366;&#24577;&#38388;&#30340;&#36716;&#25442;(state transitions)&#65288;&#20197;&#21450;&#35302;&#21457;&#29366;&#24577;&#36716;&#25442;&#30340;Hibernate&#26041;&#27861;&#65289;&#12290;        </p></div><div class="sect1" lang="zh-cn"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="objectstate-makingpersistent"></a>11.2.&nbsp;&#20351;&#23545;&#35937;&#25345;&#20037;&#21270;</h2></div></div><div></div></div><p>			Hibernate&#35748;&#20026;&#25345;&#20037;&#21270;&#31867;(persistent class)&#26032;&#23454;&#20363;&#21270;&#30340;&#23545;&#35937;&#26159;<span class="emphasis"><em>&#30636;&#26102;(Transient)</em></span>&#30340;&#12290;			&#25105;&#20204;&#21487;&#23558;&#30636;&#26102;(Transient)&#23545;&#35937;&#19982;session&#20851;&#32852;&#32780;&#21464;&#20026;<span class="emphasis"><em>&#25345;&#20037;(Persistent)</em></span>&#30340;&#12290;        </p><pre class="programlisting">DomesticCat fritz = new DomesticCat();fritz.setColor(Color.GINGER);fritz.setSex('M');fritz.setName("Fritz");Long generatedId = (Long) sess.save(fritz);</pre><p>			&#22914;&#26524;<tt class="literal">Cat</tt>&#30340;&#25345;&#20037;&#21270;&#26631;&#35782;(identifier)&#26159;<tt class="literal">generated</tt>&#31867;&#22411;&#30340;&#65292;			&#37027;&#20040;&#35813;&#26631;&#35782;(identifier)&#20250;&#33258;&#21160;&#22312;<tt class="literal">save()</tt>&#34987;&#35843;&#29992;&#26102;&#20135;&#29983;&#24182;&#20998;&#37197;&#32473;<tt class="literal">cat</tt>&#12290;			&#22914;&#26524;<tt class="literal">Cat</tt>&#30340;&#25345;&#20037;&#21270;&#26631;&#35782;(identifier)&#26159;<tt class="literal">assigned</tt>&#31867;&#22411;&#30340;&#65292;&#25110;&#26159;&#19968;&#20010;&#22797;&#21512;&#20027;&#38190;(composite key)&#65292;			&#37027;&#20040;&#35813;&#26631;&#35782;(identifier)&#24212;&#24403;&#22312;&#35843;&#29992;<tt class="literal">save()</tt>&#20043;&#21069;&#25163;&#21160;&#36171;&#20104;&#32473;<tt class="literal">cat</tt>&#12290;			&#20320;&#20063;&#21487;&#20197;&#25353;&#29031;EJB3 early draft&#20013;&#23450;&#20041;&#30340;&#35821;&#20041;&#65292;&#20351;&#29992;<tt class="literal">persist()</tt>&#26367;&#20195;<tt class="literal">save()</tt>&#12290;        </p><p>            &#27492;&#22806;&#65292;&#20320;&#21487;&#20197;&#29992;&#19968;&#20010;&#37325;&#36733;&#29256;&#26412;&#30340;<tt class="literal">save()</tt>&#26041;&#27861;&#12290;        </p><pre class="programlisting">DomesticCat pk = new DomesticCat();pk.setColor(Color.TABBY);pk.setSex('F');pk.setName("PK");pk.setKittens( new HashSet() );pk.addKitten(fritz);sess.save( pk, new Long(1234) );</pre><p>			&#22914;&#26524;&#20320;&#25345;&#20037;&#21270;&#30340;&#23545;&#35937;&#26377;&#20851;&#32852;&#30340;&#23545;&#35937;(associated objects)&#65288;&#20363;&#22914;&#19978;&#20363;&#20013;&#30340;<tt class="literal">kittens</tt>&#38598;&#21512;&#65289;  			&#37027;&#20040;&#23545;&#36825;&#20123;&#23545;&#35937;&#65288;&#35793;&#27880;&#65306;pk&#21644;kittens&#65289;&#36827;&#34892;&#25345;&#20037;&#21270;&#30340;&#39034;&#24207;&#26159;&#20219;&#24847;&#30340;&#65288;&#20063;&#23601;&#26159;&#35828;&#21487;&#20197;&#20808;&#23545;kittens&#36827;&#34892;&#25345;&#20037;&#21270;&#20063;&#21487;&#20197;&#20808;&#23545;pk&#36827;&#34892;&#25345;&#20037;&#21270;&#65289;&#65292;  			&#38500;&#38750;&#20320;&#22312;&#22806;&#38190;&#21015;&#19978;&#26377;<tt class="literal">NOT NULL</tt>&#32422;&#26463;&#12290;            Hibernate&#19981;&#20250;&#36829;&#21453;&#22806;&#38190;&#32422;&#26463;&#65292;&#20294;&#26159;&#22914;&#26524;&#20320;&#29992;&#38169;&#35823;&#30340;&#39034;&#24207;&#25345;&#20037;&#21270;&#23545;&#35937;&#65288;&#35793;&#27880;&#65306;&#22312;pk&#25345;&#20037;&#20043;&#21069;&#25345;&#20037;kitten&#65289;&#65292;&#37027;&#20040;&#21487;&#33021;&#20250;&#36829;&#21453;<tt class="literal">NOT NULL</tt>&#32422;&#26463;&#12290;        </p><p>			&#36890;&#24120;&#20320;&#19981;&#20250;&#20026;&#36825;&#20123;&#32454;&#33410;&#28902;&#24515;&#65292;&#22240;&#20026;&#20320;&#24456;&#21487;&#33021;&#20250;&#20351;&#29992;Hibernate&#30340;			<span class="emphasis"><em>&#20256;&#25773;&#24615;&#25345;&#20037;&#21270;(transitive persistence)</em></span>&#21151;&#33021;&#33258;&#21160;&#20445;&#23384;&#30456;&#20851;&#32852;&#37027;&#20123;&#23545;&#35937;&#12290;			&#36825;&#26679;&#36830;&#36829;&#21453;<tt class="literal">NOT NULL</tt>&#32422;&#26463;&#24773;&#20917;&#37117;&#19981;&#20250;&#20986;&#29616;&#20102; - Hibernate&#20250;&#31649;&#22909;&#25152;&#26377;&#30340;&#20107;&#24773;&#12290;			&#20256;&#25773;&#24615;&#25345;&#20037;&#21270;(transitive persistence)&#23558;&#22312;&#26412;&#31456;&#31245;&#21518;&#35752;&#35770;&#12290;        </p></div><div class="sect1" lang="zh-cn"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="objectstate-loading"></a>11.3.&nbsp;&#35013;&#36733;&#23545;&#35937;</h2></div></div><div></div></div><p>        	&#22914;&#26524;&#20320;&#30693;&#36947;&#26576;&#20010;&#23454;&#20363;&#30340;&#25345;&#20037;&#21270;&#26631;&#35782;(identifier)&#65292;&#20320;&#23601;&#21487;&#20197;&#20351;&#29992;<tt class="literal">Session</tt>&#30340;<tt class="literal">load()</tt>&#26041;&#27861;        	&#26469;&#33719;&#21462;&#23427;&#12290; <tt class="literal">load()</tt>&#30340;&#21478;&#19968;&#20010;&#21442;&#25968;&#26159;&#25351;&#23450;&#31867;&#30340;.class&#23545;&#35937;&#12290;        	&#26412;&#26041;&#27861;&#20250;&#21019;&#24314;&#25351;&#23450;&#31867;&#30340;&#25345;&#20037;&#21270;&#23454;&#20363;&#65292;&#24182;&#20174;&#25968;&#25454;&#24211;&#21152;&#36733;&#20854;&#25968;&#25454;(state)&#12290;        </p><pre class="programlisting">Cat fritz = (Cat) sess.load(Cat.class, generatedId);</pre><pre class="programlisting">// you need to wrap primitive identifierslong pkId = 1234;DomesticCat pk = (DomesticCat) sess.load( Cat.class, new Long(pkId) );</pre><p>            &#27492;&#22806;, &#20320;&#21487;&#20197;&#25226;&#25968;&#25454;(state)&#21152;&#36733;&#21040;&#25351;&#23450;&#30340;&#23545;&#35937;&#23454;&#20363;&#19978;&#65288;&#35206;&#30422;&#25481;&#35813;&#23454;&#20363;&#21407;&#26469;&#30340;&#25968;&#25454;&#65289;&#12290;        </p><pre class="programlisting">Cat cat = new DomesticCat();// load pk's state into catsess.load( cat, new Long(pkId) );Set kittens = cat.getKittens();</pre><p>			&#35831;&#27880;&#24847;&#22914;&#26524;&#27809;&#26377;&#21305;&#37197;&#30340;&#25968;&#25454;&#24211;&#35760;&#24405;&#65292;<tt class="literal">load()</tt>&#26041;&#27861;&#21487;&#33021;&#25243;&#20986;&#26080;&#27861;&#24674;&#22797;&#30340;&#24322;&#24120;(unrecoverable exception)&#12290;			&#22914;&#26524;&#31867;&#30340;&#26144;&#23556;&#20351;&#29992;&#20102;&#20195;&#29702;(proxy)&#65292;<tt class="literal">load()</tt>&#26041;&#27861;&#20250;&#36820;&#22238;&#19968;&#20010;&#26410;&#21021;&#22987;&#21270;&#30340;&#20195;&#29702;&#65292;&#30452;&#21040;&#20320;&#35843;&#29992;&#35813;&#20195;&#29702;&#30340;&#26576;&#26041;&#27861;&#26102;&#25165;&#20250;&#21435;&#35775;&#38382;&#25968;&#25454;&#24211;&#12290;			&#33509;&#20320;&#24076;&#26395;&#22312;&#26576;&#23545;&#35937;&#20013;&#21019;&#24314;&#19968;&#20010;&#25351;&#21521;&#21478;&#19968;&#20010;&#23545;&#35937;&#30340;&#20851;&#32852;&#65292;&#21448;&#19981;&#24819;&#22312;&#20174;&#25968;&#25454;&#24211;&#20013;&#35013;&#36733;&#35813;&#23545;&#35937;&#26102;&#21516;&#26102;&#35013;&#36733;&#30456;&#20851;&#32852;&#30340;&#37027;&#20010;&#23545;&#35937;&#65292;&#37027;&#20040;&#36825;&#31181;&#25805;&#20316;&#26041;&#24335;&#23601;&#29992;&#24471;&#19978;&#30340;&#20102;&#12290;			&#22914;&#26524;&#20026;&#30456;&#24212;&#31867;&#26144;&#23556;&#20851;&#31995;&#35774;&#32622;&#20102;<tt class="literal">batch-size</tt>&#65292;			&#37027;&#20040;&#20351;&#29992;&#36825;&#31181;&#25805;&#20316;&#26041;&#24335;&#20801;&#35768;&#22810;&#20010;&#23545;&#35937;&#34987;&#19968;&#25209;&#35013;&#36733;&#65288;&#22240;&#20026;&#36820;&#22238;&#30340;&#26159;&#20195;&#29702;&#65292;&#26080;&#38656;&#20174;&#25968;&#25454;&#24211;&#20013;&#25235;&#21462;&#25152;&#26377;&#23545;&#35937;&#30340;&#25968;&#25454;&#65289;&#12290;        </p><p>       		&#22914;&#26524;&#20320;&#19981;&#30830;&#23450;&#26159;&#21542;&#26377;&#21305;&#37197;&#30340;&#34892;&#23384;&#22312;&#65292;&#24212;&#35813;&#20351;&#29992;<tt class="literal">get()</tt>&#26041;&#27861;&#65292;&#23427;&#20250;&#31435;&#21051;&#35775;&#38382;&#25968;&#25454;&#24211;&#65292;&#22914;&#26524;&#27809;&#26377;&#23545;&#24212;&#30340;&#34892;&#65292;&#20250;&#36820;&#22238;null&#12290;        </p><pre class="programlisting">Cat cat = (Cat) sess.get(Cat.class, id);if (cat==null) {    cat = new Cat();    sess.save(cat, id);}return cat;</pre><p>			&#20320;&#29978;&#33267;&#21487;&#20197;&#36873;&#29992;&#26576;&#20010;<tt class="literal">LockMode</tt>&#65292;&#29992;SQL&#30340;<tt class="literal">SELECT ... FOR UPDATE</tt>&#35013;&#36733;&#23545;&#35937;&#12290;			&#35831;&#26597;&#38405;API&#25991;&#26723;&#20197;&#33719;&#21462;&#26356;&#22810;&#20449;&#24687;&#12290;        </p><pre class="programlisting">Cat cat = (Cat) sess.get(Cat.class, id, LockMode.UPGRADE);</pre><p>              &#27880;&#24847;&#65292;&#20219;&#20309;&#20851;&#32852;&#30340;&#23545;&#35937;&#25110;&#32773;&#21253;&#21547;&#30340;&#38598;&#21512;&#37117;<span class="emphasis"><em>&#19981;&#20250;</em></span>&#34987;&#20197;<tt class="literal">FOR UPDATE</tt>&#26041;&#24335;&#36820;&#22238;&#65292; 			&#38500;&#38750;&#20320;&#25351;&#23450;&#20102;<tt class="literal">lock</tt>&#25110;&#32773;<tt class="literal">all</tt>&#20316;&#20026;&#20851;&#32852;(association)&#30340;&#32423;&#32852;&#39118;&#26684;(cascade style)&#12290;        </p><p>			&#20219;&#20309;&#26102;&#20505;&#37117;&#21487;&#20197;&#20351;&#29992;<tt class="literal">refresh()</tt>&#26041;&#27861;&#24378;&#36843;&#35013;&#36733;&#23545;&#35937;&#21644;&#23427;&#30340;&#38598;&#21512;&#12290;&#22914;&#26524;&#20320;&#20351;&#29992;&#25968;&#25454;&#24211;&#35302;&#21457;&#22120;&#21151;&#33021;&#26469;&#22788;&#29702;&#23545;&#35937;&#30340;&#26576;&#20123;&#23646;&#24615;&#65292;&#36825;&#20010;&#26041;&#27861;&#23601;&#24456;&#26377;&#29992;&#20102;&#12290;        </p><pre class="programlisting">sess.save(cat);

⌨️ 快捷键说明

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