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

📄 tutorial.html

📁 非常好的 Hibernate中文API ,供各位开发参考
💻 HTML
📖 第 1 页 / 共 5 页
字号:
    Session session = HibernateUtil.getSessionFactory().getCurrentSession();    session.beginTransaction();    List result = session.createQuery("from Event").list();    session.getTransaction().commit();    return result;}</pre><p>	&#25105;&#20204;&#22312;&#36825;&#37324;&#26159;&#29992;&#19968;&#20010;HQL&#65288;Hibernate Query Language&#65293;Hibernate&#26597;&#35810;&#35821;&#35328;&#65289;&#26597;&#35810;&#35821;&#21477;&#26469;&#20174;&#25968;&#25454;&#24211;&#20013;&#21152;&#36733;&#25152;&#26377;&#23384;&#22312;&#30340;<tt class="literal">Event</tt>&#23545;&#35937;&#12290;Hibernate&#20250;&#29983;&#25104;&#36866;&#24403;&#30340;SQL&#65292;&#25226;&#23427;&#21457;&#36865;&#21040;&#25968;&#25454;&#24211;&#65292;&#24182;&#25805;&#20316;&#20174;&#26597;&#35810;&#24471;&#21040;&#25968;&#25454;&#30340;<tt class="literal">Event</tt>&#23545;&#35937;&#12290;&#24403;&#28982;&#65292;&#20320;&#21487;&#20197;&#20351;&#29992;HQL&#26469;&#21019;&#24314;&#26356;&#21152;&#22797;&#26434;&#30340;&#26597;&#35810;&#12290;            </p><p>	&#29616;&#22312;&#65292;&#26681;&#25454;&#20197;&#19979;&#27493;&#39588;&#26469;&#25191;&#34892;&#24182;&#27979;&#35797;&#20197;&#19978;&#21508;&#39033;&#65306;            </p><div class="itemizedlist"><ul type="disc"><li><p>                        &#36816;&#34892;<tt class="literal">ant run -Daction=store</tt>&#26469;&#20445;&#23384;&#19968;&#20123;&#20869;&#23481;&#21040;&#25968;&#25454;&#24211;&#12290;&#24403;&#28982;&#65292;&#20808;&#24471;&#29992;hbm2ddl&#26469;&#29983;&#25104;&#25968;&#25454;&#24211;schema&#12290;                    </p></li><li><p>                        &#29616;&#22312;&#25226;<tt class="literal">hibernate.cfg.xml</tt>&#25991;&#20214;&#20013;hbm2ddl&#23646;&#24615;&#27880;&#37322;&#25481;&#65292;&#36825;&#26679;&#25105;&#20204;&#23601;&#21462;&#28040;&#20102;&#22312;&#21551;&#21160;&#26102;&#29992;hbm2ddl&#26469;&#29983;&#25104;&#25968;&#25454;&#24211;schema&#12290;&#36890;&#24120;&#21482;&#26377;&#22312;&#19981;&#26029;&#37325;&#22797;&#36827;&#34892;&#21333;&#20803;&#27979;&#35797;&#30340;&#26102;&#20505;&#25165;&#38656;&#35201;&#25171;&#24320;&#23427;&#65292;&#20294;&#20877;&#27425;&#36816;&#34892;hbm2ddl&#20250;&#25226;&#20320;&#20445;&#23384;&#30340;&#19968;&#20999;&#37117;&#21024;&#25481;&#65288;<span class="emphasis"><em>drop</em></span>&#65289;&#8212;&#8212;<tt class="literal">create</tt>&#37197;&#32622;&#30340;&#30495;&#23454;&#21547;&#20041;&#26159;&#65306;&#8220;&#22312;&#21019;&#24314;SessionFactory&#30340;&#26102;&#20505;&#65292;&#20174;schema &#20013;drop &#25481;&#25152;&#26377;&#30340;&#34920;&#65292;&#20877;&#37325;&#26032;&#21019;&#24314;&#23427;&#20204;&#8221;&#12290;                    </p></li></ul></div><p>	&#22914;&#26524;&#20320;&#29616;&#22312;&#20351;&#29992;&#21629;&#20196;&#34892;&#21442;&#25968;<tt class="literal">-Daction=list</tt>&#36816;&#34892;Ant&#65292;&#20320;&#20250;&#30475;&#21040;&#37027;&#20123;&#33267;&#20170;&#20026;&#27490;&#25105;&#20204;&#25152;&#20648;&#23384;&#30340;events&#12290;&#24403;&#28982;&#65292;&#20320;&#20063;&#21487;&#20197;&#22810;&#35843;&#29992;&#20960;&#27425;<tt class="literal">store</tt>&#20197;&#20445;&#23384;&#26356;&#22810;&#30340;envents&#12290;            </p><p>                &#27880;&#24847;&#65292;&#24456;&#22810;Hibernate&#26032;&#25163;&#22312;&#36825;&#19968;&#27493;&#20250;&#22833;&#36133;&#65292;&#25105;&#20204;&#19981;&#26102;&#30475;&#21040;&#20851;&#20110;<span class="emphasis"><em>Table not found</em></span>&#38169;&#35823;&#20449;&#24687;&#30340;&#25552;&#38382;&#12290;&#20294;&#26159;&#65292;&#21482;&#35201;&#20320;&#26681;&#25454;&#19978;&#38754;&#25551;&#36848;&#30340;&#27493;&#39588;&#26469;&#25191;&#34892;&#65292;&#23601;&#19981;&#20250;&#26377;&#36825;&#20010;&#38382;&#39064;&#65292;&#22240;&#20026;hbm2ddl&#20250;&#22312;&#31532;&#19968;&#27425;&#36816;&#34892;&#30340;&#26102;&#20505;&#21019;&#24314;&#25968;&#25454;&#24211;schema&#65292;&#21518;&#32487;&#30340;&#24212;&#29992;&#31243;&#24207;&#37325;&#36215;&#21518;&#36824;&#33021;&#32487;&#32493;&#20351;&#29992;&#36825;&#20010;schema&#12290;&#20551;&#33509;&#20320;&#20462;&#25913;&#20102;&#26144;&#23556;&#65292;&#25110;&#32773;&#20462;&#25913;&#20102;&#25968;&#25454;&#24211;schema&#65292;&#20320;&#24517;&#39035;&#25226;hbm2ddl&#37325;&#26032;&#25171;&#24320;&#19968;&#27425;&#12290;            </p></div></div><div class="sect1" lang="zh-cn"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="tutorial-associations"></a>1.3.&nbsp;	&#31532;&#20108;&#37096;&#20998; &#65293; &#20851;&#32852;&#26144;&#23556;	</h2></div></div><div></div></div><p>	&#25105;&#20204;&#24050;&#32463;&#26144;&#23556;&#20102;&#19968;&#20010;&#25345;&#20037;&#21270;&#23454;&#20307;&#31867;&#21040;&#34920;&#19978;&#12290;&#35753;&#25105;&#20204;&#22312;&#36825;&#20010;&#22522;&#30784;&#19978;&#22686;&#21152;&#19968;&#20123;&#31867;&#20043;&#38388;&#30340;&#20851;&#32852;&#12290;&#39318;&#20808;&#25105;&#20204;&#24448;&#24212;&#29992;&#31243;&#24207;&#37324;&#22686;&#21152;&#20154;&#65288;people&#65289;&#30340;&#27010;&#24565;&#65292;&#24182;&#23384;&#20648;&#20182;&#20204;&#25152;&#21442;&#19982;&#30340;&#19968;&#20010;Event&#21015;&#34920;&#12290;&#65288;&#35793;&#32773;&#27880;&#65306;&#19982;Event&#19968;&#26679;&#65292;&#25105;&#20204;&#22312;&#21518;&#38754;&#23558;&#30452;&#25509;&#20351;&#29992;person&#26469;&#34920;&#31034;&#8220;&#20154;&#8221;&#32780;&#19981;&#26159;&#23427;&#30340;&#20013;&#25991;&#32763;&#35793;&#65289;        </p><div class="sect2" lang="zh-cn"><div class="titlepage"><div><div><h3 class="title"><a name="tutorial-associations-mappinguser"></a>1.3.1.&nbsp;	&#26144;&#23556;Person&#31867;		</h3></div></div><div></div></div><p>	&#26368;&#21021;&#31616;&#21333;&#30340;<tt class="literal">Person</tt>&#31867;&#65306;            </p><pre class="programlisting">package events;public class Person {    private Long id;    private int age;    private String firstname;    private String lastname;    public Person() {}    // Accessor methods for all properties, private setter for 'id'}</pre><p>                &#21019;&#24314;&#19968;&#20010;&#21517;&#20026;<tt class="literal">Person.hbm.xml</tt>&#30340;&#26032;&#26144;&#23556;&#25991;&#20214;&#65288;&#21035;&#24536;&#20102;&#26368;&#19978;&#38754;&#30340;DTD&#24341;&#29992;&#65289;&#65306;            </p><pre class="programlisting">&lt;hibernate-mapping&gt;    &lt;class name="events.Person" table="PERSON"&gt;        &lt;id name="id" column="PERSON_ID"&gt;            &lt;generator class="native"/&gt;        &lt;/id&gt;        &lt;property name="age"/&gt;        &lt;property name="firstname"/&gt;        &lt;property name="lastname"/&gt;    &lt;/class&gt;&lt;/hibernate-mapping&gt;</pre><p>                &#26368;&#21518;&#65292;&#25226;&#26032;&#30340;&#26144;&#23556;&#21152;&#20837;&#21040;Hibernate&#30340;&#37197;&#32622;&#20013;&#65306;            </p><pre class="programlisting">&lt;mapping resource="events/Event.hbm.xml"/&gt;&lt;mapping resource="events/Person.hbm.xml"/&gt;</pre><p>	&#29616;&#22312;&#25105;&#20204;&#22312;&#36825;&#20004;&#20010;&#23454;&#20307;&#20043;&#38388;&#21019;&#24314;&#19968;&#20010;&#20851;&#32852;&#12290;&#26174;&#28982;&#65292;persons&#21487;&#20197;&#21442;&#19982;&#19968;&#31995;&#21015;events&#65292;&#32780;events&#20063;&#26377;&#19981;&#21516;&#30340;&#21442;&#21152;&#32773;&#65288;persons&#65289;&#12290;&#25105;&#20204;&#38656;&#35201;&#22788;&#29702;&#30340;&#35774;&#35745;&#38382;&#39064;&#26159;&#20851;&#32852;&#26041;&#21521;&#65288;directionality&#65289;&#65292;&#38454;&#25968;&#65288;multiplicity&#65289;&#21644;&#38598;&#21512;&#65288;collection&#65289;&#30340;&#34892;&#20026;&#12290;            </p></div><div class="sect2" lang="zh-cn"><div class="titlepage"><div><div><h3 class="title"><a name="tutorial-associations-unidirset"></a>1.3.2.&nbsp;	&#21333;&#21521;Set-based&#30340;&#20851;&#32852;		</h3></div></div><div></div></div><p>	&#25105;&#20204;&#23558;&#21521;<tt class="literal">Person</tt>&#31867;&#22686;&#21152;&#19968;&#36830;&#20018;&#30340;events&#12290;&#37027;&#26679;&#65292;&#36890;&#36807;&#35843;&#29992;<tt class="literal">aPerson.getEvents()</tt>&#65292;&#23601;&#21487;&#20197;&#36731;&#26494;&#22320;&#23548;&#33322;&#21040;&#29305;&#23450;person&#25152;&#21442;&#19982;&#30340;events&#65292;&#32780;&#19981;&#29992;&#21435;&#25191;&#34892;&#19968;&#20010;&#26174;&#24335;&#30340;&#26597;&#35810;&#12290;&#25105;&#20204;&#20351;&#29992;Java&#30340;&#38598;&#21512;&#31867;&#65288;collection&#65289;&#65306;<tt class="literal">Set</tt>&#65292;&#22240;&#20026;set &#19981;&#21253;&#21547;&#37325;&#22797;&#30340;&#20803;&#32032;&#21450;&#19982;&#25105;&#20204;&#26080;&#20851;&#30340;&#25490;&#24207;&#12290;            </p><p>	&#25105;&#20204;&#38656;&#35201;&#29992;set &#23454;&#29616;&#19968;&#20010;&#21333;&#21521;&#22810;&#20540;&#20851;&#32852;&#12290;&#35753;&#25105;&#20204;&#22312;Java&#31867;&#37324;&#20026;&#36825;&#20010;&#20851;&#32852;&#32534;&#30721;&#65292;&#25509;&#30528;&#26144;&#23556;&#23427;&#65306;            </p><pre class="programlisting">public class Person {    private Set events = new HashSet();    public Set getEvents() {        return events;    }    public void setEvents(Set events) {        this.events = events;    }}</pre><p>	&#22312;&#26144;&#23556;&#36825;&#20010;&#20851;&#32852;&#20043;&#21069;&#65292;&#20808;&#32771;&#34385;&#19968;&#19979;&#27492;&#20851;&#32852;&#30340;&#21478;&#22806;&#19968;&#31471;&#12290;&#24456;&#26174;&#28982;&#65292;&#25105;&#20204;&#21487;&#20197;&#20445;&#25345;&#36825;&#20010;&#20851;&#32852;&#26159;&#21333;&#21521;&#30340;&#12290;&#25110;&#32773;&#65292;&#25105;&#20204;&#21487;&#20197;&#22312;<tt class="literal">Event</tt>&#37324;&#21019;&#24314;&#21478;&#22806;&#19968;&#20010;&#38598;&#21512;&#65292;&#22914;&#26524;&#24076;&#26395;&#33021;&#22815;&#21452;&#21521;&#22320;&#23548;&#33322;&#65292;&#22914;&#65306;<tt class="literal">anEvent.getParticipants()</tt>&#12290;&#20174;&#21151;&#33021;&#30340;&#35282;&#24230;&#26469;&#35828;&#65292;&#36825;&#24182;&#19981;&#26159;&#24517;&#39035;&#30340;&#12290;&#22240;&#20026;&#20320;&#24635;&#21487;&#20197;&#26174;&#24335;&#22320;&#25191;&#34892;&#19968;&#20010;&#26597;&#35810;&#65292;&#20197;&#33719;&#24471;&#26576;&#20010;&#29305;&#23450;event&#30340;&#25152;&#26377;&#21442;&#19982;&#32773;&#12290;&#36825;&#26159;&#20010;&#22312;&#35774;&#35745;&#26102;&#38656;&#35201;&#20570;&#20986;&#30340;&#36873;&#25321;&#65292;&#23436;&#20840;&#30001;&#20320;&#26469;&#20915;&#23450;&#65292;&#20294;&#27492;&#35752;&#35770;&#20013;&#20851;&#20110;&#20851;&#32852;&#30340;&#38454;&#25968;&#26159;&#28165;&#26970;&#30340;&#65306;&#21363;&#20004;&#31471;&#37117;&#26159;&#8220;&#22810;&#8221;&#20540;&#30340;&#65292;&#25105;&#20204;&#25226;&#23427;&#21483;&#20570;<span class="emphasis"><em>&#22810;&#23545;&#22810;(many-to-many)</em></span>&#20851;&#32852;&#12290;&#22240;&#32780;&#65292;&#25105;&#20204;&#20351;&#29992;Hibernate&#30340;&#22810;&#23545;&#22810;&#26144;&#23556;&#65306;            </p><pre class="programlisting">&lt;class name="events.Person" table="PERSON"&gt;    &lt;id name="id" column="PERSON_ID"&gt;        &lt;generator class="native"/&gt;    &lt;/id&gt;    &lt;property name="age"/&gt;    &lt;property name="firstname"/&gt;    &lt;property name="lastname"/&gt;    &lt;set name="events" table="PERSON_EVENT"&gt;        &lt;key column="PERSON_ID"/&gt;        &lt;many-to-many column="EVENT_ID" class="events.Event"/&gt;    &lt;/set&gt;&lt;/class&gt;</pre><p>	Hibernate&#25903;&#25345;&#21508;&#31181;&#21508;&#26679;&#30340;&#38598;&#21512;&#26144;&#23556;&#65292;<tt class="literal">&lt;set&gt;</tt>&#20351;&#29992;&#30340;&#26368;&#20026;&#26222;&#36941;&#12290;&#23545;&#20110;&#22810;&#23545;&#22810;&#20851;&#32852;&#65288;&#25110;&#21483;<span class="emphasis"><em>n:m</em></span>&#23454;&#20307;&#20851;&#31995;&#65289;, &#38656;&#35201;&#19968;&#20010;&#20851;&#32852;&#34920;&#65288;association table&#65289;&#12290;<tt class="literal">&#34920;</tt>&#37324;&#38754;&#30340;&#27599;&#19968;&#34892;&#20195;&#34920;&#20174;person&#21040;event&#30340;&#19968;&#20010;&#20851;&#32852;&#12290;&#34920;&#21517;&#26159;&#30001;<tt class="literal">set</tt>&#20803;&#32032;&#30340;<tt class="literal">table</tt>&#23646;&#24615;&#37197;&#32622;

⌨️ 快捷键说明

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