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

📄 toolsetguide.html

📁 图象处理
💻 HTML
📖 第 1 页 / 共 4 页
字号:
<html><head>      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">   <title>&#31532;&nbsp;15&nbsp;&#31456;&nbsp;&#24037;&#20855;&#31665;&#25351;&#21335;</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="performance.html" title="&#31532;&nbsp;14&nbsp;&#31456;&nbsp;&#24615;&#33021;&#25552;&#21319;&#65288;Improving performance&#65289;"><link rel="next" href="example-parentchild.html" title="&#31532;&nbsp;16&nbsp;&#31456;&nbsp;&#31034;&#20363;&#65306;&#29238;&#23376;&#20851;&#31995;(Parent Child Relationships)"></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;15&nbsp;&#31456;&nbsp;&#24037;&#20855;&#31665;&#25351;&#21335;</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="performance.html">&#19978;&#19968;&#39029;</a>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="example-parentchild.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="toolsetguide"></a>&#31532;&nbsp;15&nbsp;&#31456;&nbsp;&#24037;&#20855;&#31665;&#25351;&#21335;</h2></div></div><div></div></div><p>        &#36890;&#36807;Hibernate&#39033;&#30446;&#20013;&#25552;&#20379;&#30340;&#20960;&#20010;&#21629;&#20196;&#34892;&#24037;&#20855;(&#20182;&#20204;&#20063;&#34987;&#24403;&#20316;&#39033;&#30446;&#30340;&#19968;&#37096;&#20998;&#19981;&#26029;&#24471;&#21040;&#32500;&#25252;),&#36824;&#26377;XDoclet,Middlegen&#21644;AndroMDA&#20869;&#32622;&#30340;&#23545;Hibernate&#30340;&#25903;&#25345;,&#21487;&#20197;&#22312;&#20960;&#20010;&#19981;&#21516;&#30340;&#29615;&#22659;(SQL,java&#20195;&#30721;,xml&#26144;&#23556;&#25991;&#20214;)&#20013;&#36827;&#34892;&#30456;&#20114;&#36716;&#25442;(roundtrip)&#12290;    </p><p>        Hibernate&#30340;&#20027;&#21457;&#34892;&#21253;&#20013;&#38468;&#24102;&#20102;&#26368;&#37325;&#35201;&#30340;&#24037;&#20855;&#65288;&#29978;&#33267;&#22312;Hibernate&#20869;&#37096;&#20063;&#21487;&#20197;&#24555;&#36895;&#35843;&#29992;&#36825;&#20010;&#24037;&#20855;&#65289;&#65306;    </p><div class="itemizedlist"><ul type="disc"><li><p>            &#20174;&#26144;&#23556;&#25991;&#20214;&#21040;DDL schema&#30340;&#29983;&#25104;&#22120;&#65288;&#20063;&#23601;&#26159;<tt class="literal">SchemaExport</tt>&#21644;<tt class="literal">hbm2ddl</tt>&#65289;        </p></li></ul></div><p>        Hibernate&#39033;&#30446;&#30452;&#25509;&#25552;&#20379;&#30340;&#20854;&#20182;&#24037;&#20855;&#22312;&#19968;&#20010;&#21333;&#29420;&#30340;&#21457;&#34892;&#21253;&#20013;&#21457;&#24067;&#65292;<span class="emphasis"><em>Hibernate Extensions</em></span>&#12290;&#36825;&#20010;&#21457;&#34892;&#21253;&#21253;&#21547;&#20102;&#19979;&#21015;&#20219;&#21153;&#30340;&#24037;&#20855;&#65306;    </p><div class="itemizedlist"><ul type="disc"><li><p>            &#20174;&#26144;&#23556;&#25991;&#20214;&#21040;Java&#28304;&#20195;&#30721;&#30340;&#29983;&#25104;&#22120;(&#20063;&#23601;&#26159;<tt class="literal">CodeGenerator</tt>&#65292;<tt class="literal">hbm2java</tt>&#65289;        </p></li><li><p>            &#20174;&#24050;&#32534;&#35793;&#30340;Java&#31867;&#25110;&#32773;&#24102;&#26377;XDoclet&#26631;&#35760;&#30340;Java&#28304;&#20195;&#30721;&#29983;&#25104;&#26144;&#23556;&#25991;&#20214;&#65288;&#23427;&#20204;&#26159;<tt class="literal">MapGenerator</tt>,<tt class="literal">class2hbm</tt>&#65289;        </p></li></ul></div><p>        &#23454;&#38469;&#19978;Hibernate Extensions&#37324;&#38754;&#36824;&#26377;&#19968;&#20010;&#24037;&#20855;&#65306;<tt class="literal">ddl2hbm</tt>&#12290;&#20294;&#26159;&#23427;&#24050;&#32463;&#34987;&#24223;&#24323;&#20102;&#65292;&#24050;&#32463;&#19981;&#20877;&#34987;&#32500;&#25252;&#20102;&#12290;Middlegen&#23436;&#25104;&#20102;&#21516;&#26679;&#30340;&#20219;&#21153;&#65292;&#24182;&#19988;&#26356;&#21152;&#20986;&#33394;&#12290;    </p><p>        &#23545;Hibernate&#25552;&#20379;&#25903;&#25345;&#30340;&#31532;&#19977;&#26041;&#24037;&#20855;&#26377;&#65306;    </p><div class="itemizedlist"><ul type="disc"><li><p>            Middlegen (&#20174;&#29616;&#26377;&#30340;&#25968;&#25454;&#24211;schema&#20013;&#29983;&#25104;&#26144;&#23556;&#25991;&#20214;&#65289;        </p></li><li><p>            AndroMDA ( &#20351;&#29992;MDA&#24605;&#24819;(Model-Driven Architecture &#65292;&#27169;&#22411;&#39537;&#21160;&#20307;&#31995;)&#30340;&#20195;&#30721;&#29983;&#25104;&#22120;&#65292;&#23427;&#20174;UML&#22270;&#21644;&#20854;XML/XMI&#31561;&#20215;&#24418;&#24335;&#20013;&#29983;&#25104;&#25345;&#20037;&#21270;&#31867;&#30340;&#20195;&#30721;&#65289;        </p></li></ul></div><p>        &#36825;&#20123;&#31532;&#19977;&#26041;&#24037;&#20855;&#27809;&#26377;&#22312;&#36825;&#31687;&#25351;&#21335;&#20013;&#35828;&#26126;&#12290;&#35831;&#26597;&#38405;Hibernate &#32593;&#31449;&#24471;&#21040;&#20851;&#20110;&#23427;&#20204;&#30446;&#21069;&#30340;&#24773;&#20917;&#12290;&#65288;Hibernate&#20027;&#21457;&#34892;&#21253;&#20013;&#26377;&#20851;&#20110;&#25972;&#20010;&#32593;&#31449;&#30340;&#24555;&#29031;&#65289;    </p><div class="sect1" lang="zh-cn"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="toolsetguide-s1"></a>15.1.&nbsp;Schema &#29983;&#25104;&#22120;&#65288;Schema Generation&#65289;</h2></div></div><div></div></div><p>            &#21487;&#20197;&#20174;&#20320;&#30340;&#26144;&#23556;&#25991;&#20214;&#20351;&#29992;&#19968;&#20010;&#21629;&#20196;&#34892;&#24037;&#20855;&#29983;&#25104;DDL&#12290;&#22312;Hibernate&#20027;&#21457;&#34892;&#21253;&#30340;<tt class="literal">hibernate-x.x.x/bin</tt>&#30446;&#24405;&#19979;&#26377;&#19968;&#20010;&#25209;&#22788;&#29702;&#25991;&#20214;&#12290;        </p><p>            &#29983;&#25104;&#30340;schema&#21253;&#21547;&#26377;&#23545;&#23454;&#20307;&#21644;&#38598;&#21512;&#31867;&#34920;&#30340;&#23436;&#25972;&#24615;&#24341;&#29992;&#32422;&#26463;&#65288;&#20027;&#38190;&#21644;&#22806;&#38190;&#65289;&#12290;&#28041;&#21450;&#21040;&#30340;&#26631;&#31034;&#31526;&#29983;&#25104;&#22120;&#25152;&#38656;&#30340;&#34920;&#21644;sequence&#20063;&#20250;&#21516;&#26102;&#29983;&#25104;&#12290;        </p><p>            &#22312;&#20351;&#29992;&#36825;&#20010;&#24037;&#20855;&#30340;&#26102;&#20505;&#65292;&#20320;<span class="emphasis"><em>&#24517;&#39035;</em></span> &#36890;&#36807;<tt class="literal">hibernate.dialet</tt>&#23646;&#24615;&#25351;&#23450;&#19968;&#20010;SQL<tt class="literal">&#26041;&#35328;(Dialet)</tt>&#12290;        </p><div class="sect2" lang="zh-cn"><div class="titlepage"><div><div><h3 class="title"><a name="toolsetguide-s1-2"></a>15.1.1.&nbsp;&#23545;schema&#23450;&#21046;&#21270;(Customizing the schema)</h3></div></div><div></div></div><p>                &#24456;&#22810;Hibernate&#26144;&#23556;&#20803;&#32032;&#23450;&#20041;&#20102;&#19968;&#20010;&#21487;&#36873;&#30340;<tt class="literal">length</tt>&#23646;&#24615;&#12290;&#20320;&#21487;&#20197;&#36890;&#36807;&#36825;&#20010;&#23646;&#24615;&#35774;&#32622;&#23383;&#27573;&#30340;&#38271;&#24230;&#12290; (&#22914;&#26524;&#26159;Or, for numeric/decimal data types, the precision.)            </p><p>                &#26377;&#20123;tag&#25509;&#21463;<tt class="literal">not-null</tt>&#23646;&#24615;&#65288;&#29992;&#26469;&#22312;&#34920;&#23383;&#27573;&#19978;&#29983;&#25104;<tt class="literal">NOT NULL</tt>&#32422;&#26463;&#65289;&#21644;<tt class="literal">unique</tt>&#23646;&#24615;&#65288;&#29992;&#26469;&#22312;&#34920;&#23383;&#27573;&#19978;&#29983;&#25104;<tt class="literal">UNIQUE</tt>&#32422;&#26463;&#65289;&#12290;            </p><p>                &#26377;&#20123;tag&#25509;&#21463;<tt class="literal">index</tt>&#23646;&#24615;&#65292;&#29992;&#26469;&#25351;&#23450;&#23383;&#27573;&#30340;index&#21517;&#23383;&#12290;<tt class="literal">unique-key</tt>&#23646;&#24615;&#21487;&#20197;&#23545;&#25104;&#32452;&#30340;&#23383;&#27573;&#25351;&#23450;&#19968;&#20010;&#32452;&#21512;&#38190;&#32422;&#26463;(unit key constraint)&#12290;&#30446;&#21069;&#65292;<tt class="literal">unique-key</tt>&#23646;&#24615;&#25351;&#23450;&#30340;&#20540;<span class="emphasis"><em>&#24182;&#19981;&#20250;</em></span>&#34987;&#24403;&#20316;&#36825;&#20010;&#32422;&#26463;&#30340;&#21517;&#23383;&#65292;&#23427;&#20204;&#21482;&#26159;&#22312;&#29992;&#26469;&#22312;&#26144;&#23556;&#25991;&#20214;&#20869;&#37096;&#29992;&#20316;&#21306;&#20998;&#30340;&#12290;            </p><p>                &#31034;&#20363;&#65306;            </p><pre class="programlisting">&lt;property name="foo" type="string" length="64" not-null="true"/&gt;&lt;many-to-one name="bar" foreign-key="fk_foo_bar" not-null="true"/&gt;&lt;element column="serial_number" type="long" not-null="true" unique="true"/&gt;</pre><p>                &#21478;&#22806;&#65292;&#36825;&#20123;&#20803;&#32032;&#36824;&#25509;&#21463;<tt class="literal">&lt;column&gt;</tt>&#23376;&#20803;&#32032;&#12290;&#22312;&#23450;&#20041;&#36328;&#36234;&#22810;&#23383;&#27573;&#30340;&#31867;&#22411;&#26102;&#29305;&#21035;&#26377;&#29992;&#12290;            </p><pre class="programlisting">&lt;property name="foo" type="string"&gt;    &lt;column name="foo" length="64" not-null="true" sql-type="text"/&gt;&lt;/property&gt;&lt;property name="bar" type="my.customtypes.MultiColumnType"/&gt;    &lt;column name="fee" not-null="true" index="bar_idx"/&gt;    &lt;column name="fi" not-null="true" index="bar_idx"/&gt;    &lt;column name="fo" not-null="true" index="bar_idx"/&gt;&lt;/property&gt;</pre><p>                <tt class="literal">sql-type</tt>&#23646;&#24615;&#20801;&#35768;&#29992;&#25143;&#35206;&#30422;&#40664;&#35748;&#30340;Hibernate&#31867;&#22411;&#21040;SQL&#25968;&#25454;&#31867;&#22411;&#30340;&#26144;&#23556;&#12290;            </p><p>                <tt class="literal">check</tt>&#23646;&#24615;&#20801;&#35768;&#29992;&#25143;&#25351;&#23450;&#19968;&#20010;&#32422;&#26463;&#26816;&#26597;&#12290;            </p><pre class="programlisting">&lt;property name="foo" type="integer"&gt;    &lt;column name="foo" check="foo &gt; 10"/&gt;&lt;/property&gt;&lt;class name="Foo" table="foos" check="bar &lt; 100.0"&gt;    ...    &lt;property name="bar" type="float"/&gt;&lt;/class&gt;</pre><div class="table"><a name="schemattributes-summary"></a><p class="title"><b>&#34920;&nbsp;15.1.&nbsp;Summary</b></p><table summary="Summary" border="1"><colgroup><col><col></colgroup><thead><tr><th>&#23646;&#24615;(Attribute)</th><th>&#20540;&#65288;Values&#65289;</th><th>&#35299;&#37322;&#65288;Interpretation&#65289;</th></tr></thead><tbody><tr><td><tt class="literal">length</tt></td><td>&#25968;&#23383;</td><td>&#23383;&#27573;&#38271;&#24230;/&#23567;&#25968;&#28857;&#31934;&#24230;</td></tr><tr><td><tt class="literal">not-null</tt></td><td><tt class="literal">true|false</tt></td><td>&#25351;&#26126;&#23383;&#27573;&#26159;&#21542;&#24212;&#35813;&#26159;&#38750;&#31354;&#30340;</td></tr><tr><td><tt class="literal">unique</tt></td><td><tt class="literal">true|false</tt></td><td>&#25351;&#26126;&#26159;&#21542;&#35813;&#23383;&#27573;&#20855;&#26377;&#24799;&#19968;&#32422;&#26463;</td></tr><tr><td><tt class="literal">index</tt></td><td><tt class="literal">index_name</tt></td><td>&#25351;&#26126;&#19968;&#20010;&#65288;&#22810;&#23383;&#27573;&#65289;&#30340;&#32034;&#24341;(index)&#30340;&#21517;&#23383;</td></tr><tr><td><tt class="literal">unique-key</tt></td><td><tt class="literal">unique_key_name</tt></td><td>&#25351;&#26126;&#22810;&#23383;&#27573;&#24799;&#19968;&#32422;&#26463;&#30340;&#21517;&#23383;&#65288;&#21442;&#35265;&#19978;&#38754;&#30340;&#35828;&#26126;&#65289;</td></tr><tr><td><tt class="literal">foreign-key</tt></td><td><tt class="literal">foreign_key_name</tt></td><td>                                &#25351;&#26126;&#19968;&#20010;&#22806;&#38190;&#30340;&#21517;&#23383;&#65292;&#23427;&#26159;&#20026;&#20851;&#32852;&#29983;&#25104;&#30340;&#12290;                            </td></tr><tr><td><tt class="literal">sql-type</tt></td><td><tt class="literal">column_type</tt></td><td>                                &#35206;&#30422;&#40664;&#35748;&#30340;&#23383;&#27573;&#31867;&#22411;(&#21482;&#33021;&#29992;&#20110;<tt class="literal">&lt;column&gt;</tt>&#23646;&#24615;&#65289;                            </td></tr><tr><td><tt class="literal">check</tt></td><td>SQL &#34920;&#36798;&#24335;</td><td>                            	&#23545;&#23383;&#27573;&#25110;&#34920;&#21152;&#20837;SQL&#32422;&#26463;&#26816;&#26597;                            </td></tr></tbody></table></div></div><div class="sect2" lang="zh-cn"><div class="titlepage"><div><div><h3 class="title"><a name="toolsetguide-s1-3"></a>15.1.2.&nbsp;&#36816;&#34892;&#35813;&#24037;&#20855;</h3></div></div><div></div></div><p>                <tt class="literal">SchemaExport</tt>&#24037;&#20855;&#25226;DDL&#33050;&#26412;&#20889;&#21040;&#26631;&#20934;&#36755;&#20986;&#65292;&#21516;&#26102;/&#25110;&#32773;&#25191;&#34892;DDL&#35821;&#21477;&#12290;            </p><p>                <tt class="literal">java -cp </tt><span class="emphasis"><em>hibernate_classpaths</em></span>                <tt class="literal">net.sf.hibernate.tool.hbm2ddl.SchemaExport</tt> <span class="emphasis"><em>options mapping_files</em></span>            </p><div class="table"><a name="d0e9256"></a><p class="title"><b>&#34920;&nbsp;15.2.&nbsp;<tt class="literal">SchemaExport</tt>&#21629;&#20196;&#34892;&#36873;&#39033;</b></p><table summary="SchemaExport&#21629;&#20196;&#34892;&#36873;&#39033;" border="1"><colgroup><col><col></colgroup><thead><tr><th>&#36873;&#39033;</th><th>&#35828;&#26126;</th></tr></thead><tbody><tr><td><tt class="literal">--quiet</tt></td><td>&#19981;&#35201;&#25226;&#33050;&#26412;&#36755;&#20986;&#21040;stdout</td></tr><tr><td><tt class="literal">--drop</tt></td><td>&#21482;&#36827;&#34892;drop tables&#30340;&#27493;&#39588;</td></tr><tr><td><tt class="literal">--text</tt></td><td>&#19981;&#25191;&#34892;&#22312;&#25968;&#25454;&#24211;&#20013;&#36816;&#34892;&#30340;&#27493;&#39588;</td></tr><tr><td><tt class="literal">--output=my_schema.ddl</tt></td><td>&#25226;&#36755;&#20986;&#30340;ddl&#33050;&#26412;&#36755;&#20986;&#21040;&#19968;&#20010;&#25991;&#20214;</td></tr><tr><td><tt class="literal">--config=hibernate.cfg.xml</tt></td><td>&#20174;XML&#25991;&#20214;&#35835;&#20837;Hibernate&#37197;&#32622;</td></tr><tr><td><tt class="literal">--properties=hibernate.properties</tt></td><td>&#20174;&#25991;&#20214;&#35835;&#20837;&#25968;&#25454;&#24211;&#23646;&#24615;</td></tr><tr><td><tt class="literal">--format</tt></td><td>&#25226;&#33050;&#26412;&#20013;&#30340;SQL&#35821;&#21477;&#23545;&#40784;&#21644;&#32654;&#21270;</td></tr><tr><td><tt class="literal">--delimiter=x</tt></td><td>&#20026;&#33050;&#26412;&#35774;&#32622;&#34892;&#32467;&#26463;&#31526;</td></tr></tbody></table></div><p>                &#20320;&#29978;&#33267;&#21487;&#20197;&#22312;&#20320;&#30340;&#24212;&#29992;&#31243;&#24207;&#20013;&#23884;&#20837;<tt class="literal">SchemaExport</tt>&#24037;&#20855;:            </p><pre class="programlisting">Configuration cfg = ....;new SchemaExport(cfg).create(false, true);</pre></div><div class="sect2" lang="zh-cn"><div class="titlepage"><div><div><h3 class="title"><a name="toolsetguide-s1-4"></a>15.1.3.&nbsp;&#23646;&#24615;(Properties)</h3></div></div><div></div></div><p>                &#21487;&#20197;&#36890;&#36807;&#22914;&#19979;&#26041;&#24335;&#25351;&#23450;&#25968;&#25454;&#24211;&#23646;&#24615;:            </p><div class="itemizedlist"><ul type="disc" compact><li><p>&#36890;&#36807;<tt class="literal">-D</tt><span class="emphasis"><em>&lt;property&gt;</em></span>&#31995;&#32479;&#21442;&#25968;</p></li><li><p>&#22312;<tt class="literal">hibernate.properties</tt>&#25991;&#20214;&#20013;</p></li><li><p>&#20301;&#20110;&#19968;&#20010;&#20854;&#23427;&#21517;&#23383;&#30340;properties&#25991;&#20214;&#20013;,&#28982;&#21518;&#29992; <tt class="literal">--properties</tt>&#21442;&#25968;&#25351;&#23450;</p></li></ul></div><p>                &#25152;&#38656;&#30340;&#21442;&#25968;&#21253;&#25324;:            </p><div class="table"><a name="d0e9354"></a><p class="title"><b>&#34920;&nbsp;15.3.&nbsp;SchemaExport &#36830;&#25509;&#23646;&#24615;</b></p><table summary="SchemaExport &#36830;&#25509;&#23646;&#24615;" border="1"><colgroup><col><col></colgroup><thead><tr><th>&#23646;&#24615;&#21517;</th><th>&#35828;&#26126;</th></tr></thead><tbody><tr><td><tt class="literal">hibernate.connection.driver_class</tt></td><td>jdbc driver class</td></tr><tr><td><tt class="literal">hibernate.connection.url</tt></td><td>jdbc url</td></tr><tr><td><tt class="literal">hibernate.connection.username</tt></td><td>database user</td></tr><tr><td><tt class="literal">hibernate.connection.password</tt></td><td>user password</td></tr><tr><td><tt class="literal">hibernate.dialect</tt></td><td>&#26041;&#35328;(dialect)</td></tr></tbody></table></div></div><div class="sect2" lang="zh-cn"><div class="titlepage"><div><div><h3 class="title"><a name="toolsetguide-s1-5"></a>15.1.4.&nbsp;&#20351;&#29992;Ant(Using Ant)</h3></div></div><div></div></div><p>

⌨️ 快捷键说明

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