<html> | |
<head> | |
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=shift_jis"> | |
<title>Eclipse ðp¢½ JSF/Spring/Hibernate vOC×ï</title> | |
<link rel="stylesheet" href="default_.css"> | |
</head> | |
<body LINK="#0000ff" VLINK="#800080"> | |
<div align="right"> <font face="Times New Roman, Times, serif" size="2"> </font>© | |
2005 by NTT COMWARE CORPORATION; made available under the EPL v1.0 | |
<table border=0 cellspacing=0 cellpadding=2 width="100%"> | |
<tr> | |
<td align=LEFT valign=TOP colspan="2" bgcolor="#0080C0"><b><font face="Arial,Helvetica" color="#FFFFFF"> Eclipse | |
Corner Article</font></b></td> | |
</tr> | |
</table> | |
</div> | |
<div align="left"> | |
<table width="100%" border="0"> | |
<tr> | |
<td width="115" align="left"><img src="images/Idea0000.jpg" height=86 width=120 ></td> | |
<td width="817"> | |
<div align="center"> | |
<h3>Eclipse ðp¢½ JSF/Spring/Hibernate vOC×ï<br> | |
2005 / 6 / 17</h3> | |
</div> | |
</td> | |
</tr> | |
</table> | |
</div> | |
<h1 ALIGN="CENTER">@f[^x[XÖAvOC</h1> | |
<p>¦ ±ÌRecÍANTTREFA̺LÐõçÉæÁÄ쬳ê½àÌÅ·B</p> | |
<p></p> | |
Kouichi Murakami ºãFê<br> | |
<hr width="100%"> | |
<h2>ͶßÉ</h2> | |
<p><a href="gui.html">GUI r_[Ò</a> ÅÍ Visual Editor ðgpµÄ SWTÉæéæÊð쬵ÄÝܵ½B¡ñÍ | |
f[^x[XÌfOâf©çSQL¶ÌÏ·AÀsÈÇðs¢Ü·B</p> | |
<p>Ðî·évOCÍÈºÌÆ¨èÅ·B</p> | |
<ul> | |
<li><a href="#cray">Cray Database Modeling</a>F f[^x[XÌfO <strong>( ì¬ )</strong></li> | |
<li><a href="#DbEdit">DbEdit</a>F f[^x[Xðìūܷ<strong> ( ì¬ j</strong></li> | |
<li><a href="#DBCopy">DB Copy</a> F f[^x[XÌe[uðRs[ <strong>( ì¬ ) </strong></li> | |
<li><a href="#HibernateSynch">Hibernate Synchronizer</a> F Hibernate Ì O/R}bsOt@Cì¬</li> | |
<li><a href="#Hibernator">Hibernator</a>F HQL ( Hibernate Query Language ) ðÀs·é | |
</li> | |
</ul> | |
<hr width="100%"> | |
<h3>õ</h3> | |
<p>ܸADatabase ðCXg[µÜµå¤B¡ñÍ MySQL ðgpµÜ·B</p> | |
<p><img src="images/tryit002.gif" width="61" height="13"> <a href="http://dev.mysql.com/downloads/">±¿ç</a> | |
©ç A[JCuðæ¾µÜ·B</p> | |
<blockquote> | |
<pre>mysql-4.1.12-win32.zip</pre> | |
</blockquote> | |
<ul> | |
<li>ðµÄASetup.exe ðÀsBCXg[ãAÝè ( Configure ) àÎb`®Ås¢Ü·B¡ñÍWindowsT[rXƵÄo^µÜ·B</li> | |
<li>jdbc hCoÍ <a href="http://www.mysql.com/products/connector/j/">±¿ç</a> | |
©ç A[JCuðæ¾µÜ·BðµÄAKÈÆ±ëÉu«Ü·B( á¦Î C:lib\ ̺)</li> | |
</ul> | |
<blockquote> | |
<pre>mysql-connector-java-3.1.8a.zip</pre> | |
</blockquote> | |
<p><img src="images/note0000.gif" width="62" height="13"> N®µÄ¢é±ÆÌmFÆ[UÌÇÁðµÜµå¤BáÅÍ | |
[UF mysqlA pX[hF mysql ðÇÁµÜµ½B </p> | |
<ul> | |
<li>start j [ MySQL MySQL Server 4.1 MySQL Command Line Client <br> | |
</li> | |
</ul> | |
<blockquote> | |
<p>e[u\¬</p> | |
<pre class="cmd"><b>mysql>SHOW DATABASES; | |
+----------+ | |
| Database | | |
+----------+ | |
| mysql | | |
| test | | |
+----------+ | |
2 rows in set (0.03 sec) <br>mysql>GRANT ALL PRIVILEGES ON *.* TO mysql@localhost IDENTIFIED BY 'mysql' WITH GRANT OPTION;</b></pre> | |
</blockquote> | |
<hr width="100%"> | |
<h2><a name="cray"></a>Cray Database ModelingF f[^x[XÌfO</h2> | |
<p> ER}Ìì¬Af©çSQL̶¬ADatabase ©ç fÌì¬ ÈǪūܷBI[v\[XÌf[^x[XÉεĢé Core Edition | |
Æ ¤p f[^x[XÉεAÇÁ@\ª é Pro Edition ª èÜ·B</p> | |
<p><img src="images/tryit001.gif" width="61" height="13"> <a href="http://www.azzurri.jp/ja/index.jsp">http://www.azzurri.jp/ja/index.jsp</a> | |
@CZXF Æ©iCore Edition 1.0@ͳAPro Edition 1.0 ÍLj@</p> | |
<p><img src="images/tryit002.gif" width="61" height="13"> u\tgEFAÌXVv http://www.azzurri.jp/eclipse/plugins@*GEF | |
ÌCXg[ªæÉKvÅ·BÅVÅÍ 1.1.0 [X@2004/12/31@Å·B</p> | |
<p><img src="images/tryit000.gif" width="61" height="13"> fOðµÄÝܵå¤B</p> | |
<p>uVKv¨uDatabase Modelingv¨uAzzurri Cray Database Design Diagramv</p> | |
<p><img src="images/crayModel2.gif" width="374" height="374"></p> | |
<p>SQLû¾FMySQL 4.0 ðIðµAuI¹v</p> | |
<p><img src="images/crayModel3.gif" width="341" height="417"></p> | |
<p>GfB^̶¤ÌACRðNbNµÄe[uÌÇÁâÖAðø«Ü·B</p> | |
<p><img src="images/crayModel0.gif" width="661" height="295"></p> | |
<p>e[u_uNbNµÄÒWEBhEðJ¢Äf[^ÚðÇÁµÜ·B</p> | |
<p><img src="images/crayModel1.gif" width="374" height="267"></p> | |
<p>ܽAMenubar Cray SQL ( CLEATE TABLE ) XNvg¶¬ Åe[uì¬pÌSQL¶ ðì¬Å«Ü·B </p> | |
<p><img src="images/note0000.gif" width="62" height="13">@NCbNX^[gKCh@<a href="http://www.azzurri.co.jp/ja/software/clay/support/quick_start.jsp">http://www.azzurri.co.jp/ja/software/clay/support/quick_start.jsp</a></p> | |
<hr width="100%"> | |
<h2><a name="DbEdit"></a>DbEditF f[^x[Xðìūܷ</h2> | |
<p>f[^x[XÌàeð©½èAÒWµ½èASQLÌÀsªÅ«Ü·BCary Å쬵½ SQLðÀs·éÈÇAÖÅ·B</p> | |
<p><img src="images/tryit001.gif" width="61" height="13"> <a href="http://www.geocities.com/uwe_ewald/dbedit.html">http://www.geocities.com/uwe_ewald/dbedit.html</a>@</p> | |
<blockquote> | |
<p>CZXF CPL Version 1.0 i dbedit_1.0.3 ) <br> | |
<br> | |
vOCÌo[WÉæÁÄ CPLAÆ©AGPL ª èÜ·B<br> | |
1.0.3 F CPL V1.0<br> | |
1.0.2 F CPL V1.0<br> | |
1.0.1 F Æ©i¤ppÍLj<br> | |
1.0.0 F GPL V2<br> | |
0.9.9 F Æ©i¤ppÍLj<br> | |
</p> | |
</blockquote> | |
<p><img src="images/tryit002.gif" width="61" height="13"> \tgEFAÌXVF http://dbedit.sourceforge.net/update | |
ܽÍA_E[hF <a href="http://sourceforge.net/projects/dbedit">http://sourceforge.net/projects/dbedit</a>@</p> | |
<blockquote> | |
<p>ÅVÅÍ dbedit_1.0.3_1.bin.dist_3.X.zip@[X 2005/04/10</p> | |
</blockquote> | |
<h3>õ</h3> | |
<p>Database ÖÌÚ±ðÝèµÜ·B</p> | |
<p>p[XyNeBuF cd@ðJ«Ü·B<br> | |
Tables (¶¤ÌEBhE) ÅENbN ¨uConnectionv¨uConfiguerv¨um v<br> | |
ClassPath ^uÅ jdbc hCoÌ jar t@Cðwè<br> | |
Common ^uÅhCo[NXAf[^x[XÌURLðwè</p> | |
<p><img src="images/dbConnectionConf0.gif" width="372" height="265">@<img src="images/dbConnectionConf1.gif" width="372" height="265"></p> | |
<p><img src="images/tryit000.gif" width="61" height="13"> database É e[uð쬵ÄÝܵå¤B</p> | |
<p>cray database modeling Å쬵½SQLðÀsµÜµå¤B<br> | |
java p[XyNeBuÅ xxx.sql ðJ¢ÄAMenuBar > SQL > Exqute<br> | |
DbEdit p[XyNeBuÉßÁÄAdatabase É tabale ªÇÁ³ê½±ÆðmFµÜ·B </p> | |
<p><img src="images/dbEdit0.gif" width="251" height="347"></p> | |
<p>Tables View ðENbNµÄReLXgj [©ç Table ðIð·éÆAVKe[uÌì¬àūܷB <br> | |
e[uð_uNbNµÄuInsvL[ð¹ÎAPs}ü³êÜ·ÌÅAÒWµÄENbNÌApply Insert Ådatabase ɫޱÆàūܷB<br> | |
ܽA·ÅÉf[^ÌüÁÄ¢éf[^x[XÉÚ±·éÆAe[uÆ»ÌàeÌ\¦A\¦³ê½f[^ÌÏXÈǪūܷB</p> | |
<hr width="100%"> | |
<h2><a name="DBCopy"></a>DB Copy F f[^x[XÌe[uðRs[</h2> | |
<p>pÉÉg¤@ïÍÈ¢©àµêܹñªA éÆÖÅ·B</p> | |
<p><img src="images/tryit001.gif" width="61" height="13"> <a href="http://dbcopy.sourceforge.net/en/dbcopy/">http://dbcopy.sourceforge.net/en/dbcopy/</a> | |
@ CZXF OSL 1.1 @</p> | |
<p><img src="images/tryit002.gif" width="61" height="13"> ãL©çA[JCuð_E[hµÄWJF | |
ÅVÅÍ de.jcon.dbcopy_0.1.6.zip@[X@2004-07-05</p> | |
<h3>õ</h3> | |
<p>uÝèv uDB Copyv uJDBC Driverv ðIðµAJDBCÌCuðÝè</p> | |
<p><img src="images/DbCopyConfDriver.gif" width="337" height="296"></p> | |
<p>¯¶ DB Ìîñðo^µÜ·B ÈÆàARs[³ÆRs[æÌQÂÍKvÅ·B( New ) </p> | |
<p><img src="images/DbCopyConfDB.gif" width="375" height="302"></p> | |
<p><img src="images/tryit000.gif" width="61" height="13"> e[uðRs[µÄÝܵå¤</p> | |
<p>VK¨DB Copy-> Copy database...<br> | |
Rs[³ÌDBi¶j A Rs[æÌDBiEj<br> | |
Rs[µ½¢ Table ðIðµÄ <br> | |
Create Tables É `FbN µÄ .... </p> | |
<p><img src="images/DbCopy.gif" width="415" height="389"></p> | |
<p>ūܵ½©H DbEdit ÈÇÅRs[æÌf[^ðmFµÄÝܵå¤B</p> | |
<hr width="100%"> | |
<h2><a name="HibernateSynch"></a>Hibernate Synchronizer F Hibernate Ì O/R}bsOt@Cì¬</h2> | |
<p> Hibernate ÉÖA·éR[hð쬷éc[Å·Bá¦ÎAf[^x[XÌXL[}©ç Hibernate Ì}bsOt@C𶬵ÄêÜ·B»µÄ}bsOt@C©ç | |
Value Object â DAO ð¶¬·é±ÆªÅ«Ü·BftHgÌÝèÅÍA}bsOt@C©ç\[XR[hð¶¬ãA}bsOt@CðÏX·éÆA\[XR[hÉ©®Iɽf³êÜ·BܽA | |
}bsOt@CÌÒWðs¤½ßÌGfB^ÍR[hAVXg@\ª èÜ·B</p> | |
<p><img src="images/tryit001.gif" width="61" height="13"><a href="http://www.binamics.com/hibernatesynch/">http://www.binamics.com/hibernatesynch/</a>@CZXF | |
GPL Version2 </p> | |
<p><img src="images/tryit002.gif" width="61" height="13"> \tgEFAÌXVF <a href="http://www.binamics.com/hibernatesync">http://www.binamics.com/hibernatesync</a>@2005/06/03 | |
_ÌÅVo[WÍ 2.3.1 Å·B</p> | |
<p>¡ñÍ Hibernate2 ð _E[hµÄKÈfBNgÉWJµÜ·B <a href="http://www.hibernate.org/">http://www.hibernate.org/</a> | |
<br> | |
2005/06/03 _ÌÅVo[WÍ<br> | |
Hibernat3. 3.0.5@2005/05/25 [X<br> | |
Hibernat2. 2.1.8@2005/01/30 [X</p> | |
<h3>õ</h3> | |
<p>VK Java vWFNgð ȺÌ\¬Å쬵ܷB</p> | |
<p><img src="images/hibernateSync1.gif" width="133" height="175"></p> | |
<p>Hibernate ðWJµ½fBNg©ç KvÈCuð lib ÉRs[µÜ·BWJµ½fBNgÌ lib/README.txt ÉeCuÌÈPÈྪ èÜ·B | |
required ÉÈÁÄ¢éàÌÍftHgÅKvÅ·B ȺÌàÌðRs[µÜ·B</p> | |
<table width="435" border="1 " cellspacing="0" cellpadding="2"> | |
<tr> | |
<td width="186">hibernate2.jar</td> | |
<td width="149">Hibernate </td> | |
</tr> | |
<tr> | |
<td>ehcache-0.9.jar</td> | |
<td>EHCache cache</td> | |
</tr> | |
<tr> | |
<td>jta.jar</td> | |
<td>Standard JTA API</td> | |
</tr> | |
<tr> | |
<td>xml-apis.jar</td> | |
<td>Standard JAXP API</td> | |
</tr> | |
<tr> | |
<td>commons-logging-1.0.4.jar</td> | |
<td>Commons Logging</td> | |
</tr> | |
<tr> | |
<td>dom4j-1.4.jar</td> | |
<td>XML configuration & mapping parser</td> | |
</tr> | |
<tr> | |
<td>cglib-full-2.0.2.jar</td> | |
<td>CGLIB bytecode generator</td> | |
</tr> | |
<tr> | |
<td>jdbc2_0-stdext.jar</td> | |
<td>Standard Extension JDBC APIs</td> | |
</tr> | |
<tr> | |
<td>commons-collections-2.1.1.jar</td> | |
<td>Commons Collections</td> | |
</tr> | |
<tr> | |
<td>odmg-3.0.jar</td> | |
<td>ODMG API </td> | |
</tr> | |
</table> | |
<p>Rs[µ½çACuðNXpXÉÇÁµÜ·BmySQLÌjdbc hCo[ÉàpXðʵܷBܽAHibernate ðWJµ½fBNgÌ | |
etc/log4j.properties ð config ÉRs[µÜ·BÉAf[^x[XÉÚ±·é½ßÉAconfig fileð쬵ܷBVK¨Hibernate | |
Configureation File@FÊÆµÄ hibernate.cfg.xml ªÅ«Ü·B </p> | |
<table width="42%" border="0"> | |
<tr> | |
<td width="390"><img src="images/hibernateSync61.gif" width="371" height="344"></td> | |
<td width="513" valign="top"> | |
<table border="0" width="362" cellpadding="4" cellspacing="0"> | |
<tr valign="top"> | |
<td width="13"><img src="images/1.gif" width="13" height="13"></td> | |
<td width="472"> | |
<p>ContainerF t@Cð쬷éêðwè <br> | |
/Sample/config</p> | |
</td> | |
</tr> | |
<tr valign="top"> | |
<td width="13"><img src="images/2.gif" width="13" height="13"></td> | |
<td width="472">Database TypeF MySQL</td> | |
</tr> | |
<tr valign="top"> | |
<td width="13"><img src="images/3.gif" width="13" height="13"></td> | |
<td width="472">Driver ClassF Browse {^ðµÄ ^É Driver ðüêA com.mysql.mysql.jdbc.Driver | |
ðIð</td> | |
</tr> | |
<tr valign="top"> | |
<td width="13"><img src="images/4.gif" width="13" height="13"></td> | |
<td width="472">Database URLF jdbc:mysql://localhost/test</td> | |
</tr> | |
<tr valign="top"> | |
<td width="13"><img src="images/5.gif" width="13" height="13"></td> | |
<td width="472">UsernameF mysql</td> | |
</tr> | |
<tr valign="top"> | |
<td width="13"><img src="images/6.gif" width="13" height="13"></td> | |
<td width="472">PasswordF </td> | |
</tr> | |
</table> | |
</td> | |
</tr> | |
</table> | |
<p>EBU[hÅÝèµ½àeª hibernate.cfg.xml É«ÜêÄ¢éÆv¢Ü·B</p> | |
<h3>Ú±è`t@Cuhibernate.cfg.xmlv</h3> | |
<blockquote> | |
<pre><?xml version="1.0" encoding="utf-8"?><br><!DOCTYPE hibernate-configuration<br> PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"<br> "http://hibernate.sourceforge.net/hibernate-configuration-2.0.dtd"> | |
<hibernate-configuration> | |
<session-factory > | |
<!-- local connection properties --><br> <property name="hibernate.connection.url">jdbc:mysql://localhost/test</property> | |
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property><br> <property name="hibernate.connection.username">mysql</property><br> <property name="hibernate.connection.password">mysql</property><br> <!-- property name="hibernate.connection.pool_size"></property --> | |
<!-- dialect for MySQL --><br> <property name="dialect">net.sf.hibernate.dialect.MySQLDialect</property> | |
<property name="hibernate.show_sql">false</property><br> <property name="hibernate.use_outer_join">true</property><br> <property name="hibernate.transaction.factory_class"> | |
@@@@@@@@@@@@@net.sf.hibernate.transaction.JTATransactionFactory</property> | |
<property name="jta.UserTransaction">java:comp/UserTransaction</property><br> </session-factory><br></hibernate-configuration> | |
</pre> | |
</blockquote> | |
<p><img src="images/tryit000.gif" width="61" height="13"> f[^x[XÌàe©çA}bsOt@Cð쬵ÄÝܵå¤B</p> | |
<p>VK ¨ Hibernate Mapping File </p> | |
<table width="89%" border="0"> | |
<tr> | |
<td width="338"><img src="images/hibernateSync82.gif" width="335" height="445"></td> | |
<td width="500" valign="top"> | |
<table border="0" cellspacing="0" cellpadding="4" width="496"> | |
<tr> | |
<td width="13" valign="top"><img src="images/1.gif" width="13" height="13"></td> | |
<td width="276" valign="top">Configration ^uÅf[^[x[XÚ±Ì password ðüÍ</td> | |
</tr> | |
<tr> | |
<td valign="top"><img src="images/2.gif" width="13" height="13"></td> | |
<td valign="top">Refresh ðIðµAf[^x[XÌe[uðÇÝo· </td> | |
</tr> | |
<tr> | |
<td valign="top"><img src="images/3.gif" width="13" height="13"></td> | |
<td valign="top">Tables Ée[uêª\¦³êéÌÅA}bsOð쬷é Table É`FbNðüêé</td> | |
</tr> | |
<tr> | |
<td valign="top"><img src="images/4.gif" width="13" height="13"></td> | |
<td valign="top">pbP[WðüÍ</td> | |
</tr> | |
<tr> | |
<td valign="top"><img src="images/5.gif" width="13" height="13"></td> | |
<td valign="top">I¹ðIð·éÆ tableÉ`.hbm Æ¢¤}bsOt@Cªì¬³êÜ·B <br> | |
iproperties ^uÅg£qÈÇðwèūܷj</td> | |
</tr> | |
<tr> | |
<td> </td> | |
<td> </td> | |
</tr> | |
</table> | |
</td> | |
</tr> | |
</table> | |
<p>Properties ^u </p> | |
<table width="87%" border="0"> | |
<tr> | |
<td width="343" valign="top"><img src="images/hibernateSync91.gif" width="339" height="240"></td> | |
<td width="495" valign="top"> | |
<table width="469" border="0" cellpadding="4" cellspacing="0"> | |
<tr> | |
<td width="11" valign="top"><img src="images/1.gif" width="13" height="13"></td> | |
<td width="439" valign="top">g£q</td> | |
</tr> | |
<tr> | |
<td valign="top" width="11"><img src="images/2.gif" width="13" height="13"></td> | |
<td valign="top" width="439">¡L[ðgp·éêÌ composite-id Ìnameðwè </td> | |
</tr> | |
<tr> | |
<td valign="top" width="11"><img src="images/3.gif" width="13" height="13"></td> | |
<td valign="top" width="439">generator-class ðwèūܷ </td> | |
</tr> | |
<tr> | |
<td valign="top" width="11"><img src="images/4.gif" width="13" height="13"></td> | |
<td valign="top" width="439">tÌÖAð\·setvf𶬵ܷ</td> | |
</tr> | |
<tr> | |
<td valign="top" width="11"><img src="images/5.gif" width="13" height="13"></td> | |
<td valign="top" width="439">Lazy Load ðgpµÜ· </td> | |
</tr> | |
<tr> | |
<td valign="top" width="11"><img src="images/6.gif" width="13" height="13"></td> | |
<td valign="top" width="439">vpeBÌæª¶ð¬¶ÉµÜ·</td> | |
</tr> | |
<tr> | |
<td valign="top" width="11"><img src="images/7.gif" width="13" height="13"></td> | |
<td valign="top" width="439"> lazyú»vLVÉg¤C^[tFCXðwèµÜ·</td> | |
</tr> | |
<tr> | |
<td width="11"> </td> | |
<td width="439"> </td> | |
</tr> | |
</table> | |
</td> | |
</tr> | |
</table> | |
<h3>쬳êé}bsOt@CÌáF Member.hbm</h3> | |
<blockquote> | |
<p>e[u\¬</p> | |
<pre class="cmd">mysql> show columns from member;<br>+------------+----------+------+-----+---------+-------+<br>| Field | Type | Null | Key | Default | Extra |<br>+------------+----------+------+-----+---------+-------+<br>| MEMBER_ID | int(11) | | PRI | 0 | |<br>| NAME | char(10) | YES | | NULL | |<br>| PROJECT_NO | int(11) | YES | | NULL | |<br>+------------+----------+------+-----+---------+-------+</pre> | |
<p>Member.hbm</p> | |
<pre><?xml version="1.0"?><br><!DOCTYPE hibernate-mapping PUBLIC<br> "-//Hibernate/Hibernate Mapping DTD//EN"<br> "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" > | |
<hibernate-mapping package="comware"><br> <class name="Member" table="member"><br> <id<br> column="MEMBER_ID"<br> name="Id"<br> type="integer"<br> ><br> generator class="vm" /><br> </id><br> <property<br> column="PROJECT_NO"<br> name="ProjectNo"<br> type="integer"<br> not-null="false"<br> length="11"<br> /><br> <property<br> column="NAME"<br> length="10"<br> name="Name"<br> not-null="false"<br> type="string"<br> /><br> <set inverse="true" name="ProjectSet"><br> <key column="MEMBER_ID" /><br> <one-to-many class="Project" /><br> </set><br> </class><br></hibernate-mapping></pre> | |
</blockquote> | |
<p>³çÉ hibernate.cfg.xml ɡ쬵½}bsOt@CªÇÁ³êÜ·B</p> | |
<blockquote> | |
<pre>@@@@@@@: | |
@@@@@@@: | |
<mapping resource="Project.hbm" /><br> <mapping resource="Member.hbm" /><br> </session-factory><br></hibernate-configuration></pre> | |
</blockquote> | |
<p>}bsOt@CðENbNµÄAHibernate Synchronizer > Synchronize File ðIð·éÆ Java | |
Ì\[XR[hªì¬³êÜ·B</p> | |
<table border="0"> | |
<tr> | |
<td><img src="images/hibernateSync101.gif" width="402" height="280"></td> | |
<td width="401" valign="top"> | |
<table width="457" border="0" cellpadding="4" cellspacing="0"> | |
<tr> | |
<td width="11" valign="top"><img src="images/1.gif" width="13" height="13"></td> | |
<td width="430" valign="top"> hibernate.cfg.xml É <mapping resource="`.hbm" | |
/> ðÇÁµÜ·</td> | |
</tr> | |
<tr> | |
<td valign="top" width="11"><img src="images/2.gif" width="13" height="13"></td> | |
<td valign="top" width="430">©ªÅ쬵½ Template ð³É\[XR[hð쬵ܷ</td> | |
</tr> | |
<tr> | |
<td valign="top" width="11"><img src="images/3.gif" width="13" height="13"></td> | |
<td valign="top" width="430">Java Ì\[XR[hªì¬³êÜ·</td> | |
</tr> | |
<tr> | |
<td valign="top" width="11"><img src="images/4.gif" width="13" height="13"></td> | |
<td valign="top" width="430">ù¶\[Xðã«ì¬µÜ·</td> | |
</tr> | |
<tr> | |
<td valign="top" width="11"><img src="images/5.gif" width="13" height="13"></td> | |
<td valign="top" width="430">}bsOt@CÆÖA·é\[XR[hªí³êÜ·</td> | |
</tr> | |
<tr> | |
<td width="11"> </td> | |
<td width="430"> </td> | |
</tr> | |
<tr> | |
<td width="11"> </td> | |
<td width="430"> </td> | |
</tr> | |
</table> | |
</td> | |
</tr> | |
</table> | |
<p>Member e[uÆ project e[uÉ¢ÄAÈºÌæ¤É\[XR[hªì¬³êÜ·B</p> | |
<p><img src="images/hibernateSync11.gif" width="263" height="295"></p> | |
<p>MemberNXÖAÌp³ÖWÍÈºÌæ¤ÉÈèÜ·B¶¤ªValue Object E¤ª DAO Å·B</p> | |
<p><img src="images/hibernateSync13.gif" width="576" height="292"></p> | |
<blockquote> | |
<p>ÈºÌæ¤ÈeXgNXð쬷éÆf[^x[XÌàeªQÆÅ«Ü·B</p> | |
<pre> | |
@@@@@@F | |
@@@@@Ȫ | |
@@@@@@F | |
public static void main(String[] args) { | |
try { | |
_RootDAO.initialize(); // configu file ð[hµ SessionFactory ðì¬ | |
MemberDAO dao = new MemberDAO(); | |
List members = dao.findAll(); // session Ì open à±Ì | |
for (ListIterator lite = members.listIterator(); lite.hasNext();) { | |
Member member = (Member) lite.next(); | |
System.out.println("ID = " + member.getId() + | |
", Name = " + member.getName()); | |
} | |
Integer id = new Integer(1); | |
Member member = dao.load(id); | |
System.out.println(member.getName()); | |
F | |
F | |
</pre> | |
</blockquote> | |
<h3>ev[gÌì¬</h3> | |
<p>Hibernate Synchronizer ÅÍ\[XR[hÌì¬É Jakarta Project Ì <a href="http://jakarta.apache.org/velocity/">Velocity</a> | |
ðgÁĢܷB Velocity ev[g¾ê (VTL) Ìt@XÍ»¿çðQÆè¢Ü·BܽA<a href="http://www.binamics.com/hibernatesynch/">Synchroniser | |
Ì HP</a> Å Struts Ì Template ªöJ³êĢܷB ܸA[NXy[XÉev[gð쬵ܷB»µÄvWFNgev[gƵĻêðo^µÄ¨«Ü·B·éÆR[hð쬷éÉev[gªKp³êÜ·B</p> | |
<p>_BaseRootDAOÌá( gÝÝTemplate ) </p> | |
<blockquote> | |
<pre>package ${class.BaseDAOPackageName}; <--- HibernateClass.getBaseDAOPackageName()APIðQÆ | |
import java.io.Serializable; | |
import java.math.BigDecimal; | |
@@@@F | |
@@@Ȫ | |
@@@@F | |
public abstract class _BaseRootDAO { | |
$snippet.BaseRootDAOSessionMethods <----- snippet Ìp | |
/** | |
* Return the name of the configuration file to be used with this DAO or null if default | |
*/ | |
public String getConfigurationFileName () { | |
return null; | |
} | |
@@@@F | |
@@@@F | |
}</pre> | |
</blockquote> | |
<p>[NXy[XÉTemplate ðì¬F EBhE ¨ Ýè ¨ Hibernate Synchronizer</p> | |
<table width="87%" border="0"> | |
<tr> | |
<td width="439"><img src="images/hibernateSync31.gif" width="429" height="346"></td> | |
<td width="399" valign="top"> | |
<table width="408" border="0" cellpadding="4" cellspacing="0"> | |
<tr> | |
<td valign="top"><img src="images/1.gif" width="13" height="13"></td> | |
<td valign="top">templatet@Cizip`®jðC|[gµÜ· </td> | |
</tr> | |
<tr> | |
<td valign="top"><img src="images/2.gif" width="13" height="13"></td> | |
<td valign="top">V½É [NXy[XÉtemplate ð쬵ܷ </td> | |
</tr> | |
<tr> | |
<td valign="top"><img src="images/3.gif" width="13" height="13"></td> | |
<td valign="top">±±Åè`µ½JX^ template ðgpµÄR[h𶬷é</td> | |
</tr> | |
<tr> | |
<td> </td> | |
<td> </td> | |
</tr> | |
<tr> | |
<td> </td> | |
<td> </td> | |
</tr> | |
</table> | |
</td> | |
</tr> | |
</table> | |
<p>Snippets ^u@i template Ågp·é i, template ) </p> | |
<p><img src="images/hibernateSync4.gif" width="446" height="359"></p> | |
<p>Edit ÌæÊ ( BaseClassComments Ìáj </p> | |
<p><img src="images/hibernateSync5.gif" width="438" height="263"> </p> | |
<p>vWFNgev[gÌo^FvWFNgÌvpeB[ ¨ Hibernate Synchronizer ¨ Templates </p> | |
<table width="96%" border="0" cellspacing="0" cellpadding="4"> | |
<tr> | |
<td width="446" rowspan="9"><img src="images/hibernateSync102.gif" width="446" height="359"></td> | |
<td width="4" valign="top"><img src="images/1.gif" width="13" height="13"></td> | |
<td width="430" valign="top">ÈO Export µ½vWFNgev[gðC|[gµÜ·</td> | |
</tr> | |
<tr> | |
<td width="4" valign="top"><img src="images/2.gif" width="13" height="13"></td> | |
<td valign="top" width="430">V½ÉvWFNgev[gð쬵ܷ</td> | |
</tr> | |
<tr> | |
<td width="4" valign="top"><img src="images/3.gif" width="13" height="13"></td> | |
<td valign="top" width="430">[NXy[XÉ쬵½ template ©çgp·éev[gðIðµÜ·</td> | |
</tr> | |
<tr> | |
<td width="4" valign="top"><img src="images/4.gif" width="13" height="13"></td> | |
<td valign="top" width="430">NX¼ðwè·éBVelocityÏðgÁÄàæ¢it@C¼ÉÈéj</td> | |
</tr> | |
<tr> | |
<td width="4" valign="top"><img src="images/5.gif" width="13" height="13"></td> | |
<td valign="top" width="430">pbP[W¼ðwè·éBVelocityÏðgÁÄàæ¢iì¬êÌwèj</td> | |
</tr> | |
<tr> | |
<td width="4" valign="top"><img src="images/6.gif" width="13" height="13"></td> | |
<td valign="top" width="430">㫵ܷ</td> | |
</tr> | |
<tr> | |
<td width="4" valign="top"><img src="images/7.gif" width="13" height="13"></td> | |
<td valign="top" width="430">àeðZ[u</td> | |
</tr> | |
<tr> | |
<td width="4" valign="top"><img src="images/8.gif" width="13" height="13"></td> | |
<td valign="top" width="430">ev[gÅgp·é Context parameter ðì¬Å«Ü· </td> | |
</tr> | |
<tr> | |
<td width="4" valign="top"><img src="images/9.gif" width="13" height="13"></td> | |
<td valign="top" width="430">ev[gÅgp·é Context object ðwèūܷ<br> | |
ev[gÅg¤Í ${obj} ÅgpµÜ·</td> | |
</tr> | |
</table> | |
<p>ãÍ}bsOt@CðwèµÄASynchronize File Ü½Í Template Genalation Å\[XR[hªì¬³êÜ·B</p> | |
<h3>»Ì¼AR[hì¬Ìððwè</h3> | |
<p>vWFNgÌvpeB[ ¨ Hibernate Synchronizer ¨ General ( value object ) </p> | |
<table width="86%" border="0"> | |
<tr> | |
<td width="265" valign="top"><img src="images/hibernateSync21.gif" width="265" height="190"></td> | |
<td width="573" valign="top"> | |
<table width="545" border="0" cellpadding="4" cellspacing="0"> | |
<tr> | |
<td width="13" valign="top"><img src="images/1.gif" width="13" height="13"></td> | |
<td colspan="2" valign="top">©®Å¯úðs¤ ( }bsOt@CªZ[u³ê½A\[XR[hƯúðæéj</td> | |
</tr> | |
<tr> | |
<td valign="top"><img src="images/2.gif" width="13" height="13"></td> | |
<td colspan="2" valign="top">©®IÉ value object ð쬷é</td> | |
</tr> | |
<tr> | |
<td valign="top"><img src="images/3.gif" width="13" height="13"></td> | |
<td width="89" rowspan="3" valign="middle">value object Ìì¬êðwèµÜ· | |
</td> | |
<td width="259" valign="top">ÀpbP[WÌTupbP[WÉ쬵ܷ</td> | |
</tr> | |
<tr> | |
<td valign="top"><img src="images/4.gif" width="13" height="13"></td> | |
<td valign="top">ÀpbP[WÆÖWÈAÆ©Éè`µÜ·</td> | |
</tr> | |
<tr> | |
<td valign="top"><img src="images/5.gif" width="13" height="13"></td> | |
<td valign="top">¯¶pbP[WÉ쬵ܷ</td> | |
</tr> | |
<tr> | |
<td valign="top"><img src="images/6.gif" width="13" height="13"></td> | |
<td colspan="2" valign="top">ãL Åwè·é Package ¼ ftHgÍ base </td> | |
</tr> | |
<tr> | |
<td> </td> | |
<td> </td> | |
<td> </td> | |
</tr> | |
</table> | |
</td> | |
</tr> | |
</table> | |
<p>Data Access object</p> | |
<table width="89%" border="0"> | |
<tr valign="top"> | |
<td width="306"><img src="images/hibernateSync22.gif" width="284" height="289"></td> | |
<td width="552"> | |
<table width="574" border="0" cellpadding="4" cellspacing="0"> | |
<tr> | |
<td width="9" valign="top"><img src="images/1.gif" width="13" height="13"></td> | |
<td width="549" valign="top">©®IÉ DAOs ð쬷é</td> | |
</tr> | |
<tr> | |
<td valign="top" width="9"><img src="images/2.gif" width="13" height="13">`<img src="images/4.gif" width="13" height="13"></td> | |
<td valign="top" width="549">value object ƯlÉADAOð쬷éêÌwèÅ· </td> | |
</tr> | |
<tr> | |
<td valign="top" width="9"><img src="images/5.gif" width="13" height="13"></td> | |
<td valign="top" width="549">ì¬êÌftHgÍ dao Å·</td> | |
</tr> | |
<tr> | |
<td valign="top" width="9"><img src="images/6.gif" width="13" height="13"></td> | |
<td valign="top" width="549"> base value object Ư¶pbP[WÉ base DAOs | |
ð쬷é</td> | |
</tr> | |
<tr> | |
<td valign="top" width="9"><img src="images/7.gif" width="13" height="13"></td> | |
<td valign="top" width="549">root DAO ðvOCÅ쬹¸ÉAJX^DAO ( template | |
) ðgpµÄ쬷é </td> | |
</tr> | |
<tr> | |
<td width="9"> </td> | |
<td width="549"> </td> | |
</tr> | |
</table> | |
</td> | |
</tr> | |
</table> | |
<hr width="100%"> | |
<h2><a name="Hibernator"></a>HibernatorF HQL ( Hibernate Query Language ) ðÀs·é | |
</h2> | |
<p>HQLÌÀsâ}bsOt@C̶¬ªÅ«Ü·B@</p> | |
<p><img src="images/tryit001.gif" width="61" height="13"> <a href="http://hibernator.sourceforge.net/">http://hibernator.sourceforge.net/</a>@CZXF | |
LGPL Version 2.1@</p> | |
<p><img src="images/tryit002.gif" width="61" height="13"> <a href="http://sourceforge.net/projects/hibernator">http://sourceforge.net/projects/hibernator</a> | |
©ç hibernator-0.9.6.zip ð_E[h [X <strong>2003-11-02</strong></p> | |
<blockquote> | |
<p>* »ÝÌ[XÅÍ Hibernate2 ÜÅÌÎÅ·B </p> | |
</blockquote> | |
<h3>õ</h3> | |
<p>f[^x[XÖÌÚ±Ýè</p> | |
<p>HibernatorÌp[XyNeBuðJB<br> | |
Connection ViewÌEBhEÅENbNµÄoÄéj [©çuAddvðIðµÜ·B<br> | |
vWFNgðIð·éÆÈºÌæ¤ÉvWFNgɶݷé}bsOt@Cª\¦³êÜ·BðIðµÜ·B</p> | |
<p><img src="images/hibernator2.gif" width="347" height="323"></p> | |
<p>f[^x[XÖÌÚ±îñðü͵ÄI¹ðIð</p> | |
<p><img src="images/hibernator1.gif" width="307" height="285"></p> | |
<p>Connection View Å¡A쬵½ Connection ðENbN Connect !</p> | |
<p><img src="images/hibernator3.gif" width="215" height="158"> </p> | |
<p>OEBhEÅG[ªoĢȢ±ÆðmFµÜ·B</p> | |
<p><img src="images/hibernator5.gif" width="597" height="448"></p> | |
<p><img src="images/tip00000.gif" width="62" height="13"> vWFNgɯ¶}bsOt@C¼ª éÆá¤fBNgÉ ÁÄà | |
Connect ! ÅG[ÉÈèÜ·BܽA}bsOt@CÉlazy="true"ª éÆAResult ª\¦³êܹñB | |
</p> | |
<p>f[^x[XÉÚ±³ê½çAHQLÌÀsªÅ«Ü·B<br> | |
Query View EBhEÉ HQL ðüêÄ Excute ð·ÆAʪ Result View É\¦³êÜ·B</p> | |
<p><img src="images/hibernator6.gif" width="490" height="327"></p> | |
<p>ܽAjava p[X|XyNeBuÉßÁÄAHibernator Ì View ðJ«Ü·BEBhEr [Ì\¦»Ì¼Hibernator | |
<br> | |
Hibernator ViewªJ¢½óÔÅ java Ì\[XðGfB^ÅÊíÌæ¤ÉJÆA}bsOÌC[Wª View É\¦³êÜ·B»µÄAi | |
}[NðNbN·éÆt@CÉZ[u³êÜ·B</p> | |
<p><img src="images/hibernator41.gif" width="633" height="189"></p> | |
<p><img src="images/note0000.gif" width="62" height="13">@»óA}bsOt@CÌ class | |
®«Í®SCü¼ðwèµÄ¢È¢ÆAclassNotFoundException ÉÈÁĵܢܷBHibernate Synchronizer ÅìÁ½}bsOt@CÍ | |
class ®«ª®SCü¼ÅÈ¢ÌÅAÓªKvÅ·B</p> | |
<hr width="100%"> | |
<small><font size="2">Java¨æÑ»Ì¼ÌJavaðÜÞ¤WÍAÄ Sun Microsystems, Inc. ̤WÅ èA¯ÐÌJavauhðgpµ½Zpðgpµ½»iðwµÜ·B<br> | |
WindowsÍAÄMicrosoft CorporationÌĨæÑ@»Ì¼Ìɨ¯éo^¤WÅ·B<br> | |
Windows ̳®¼ÌÍA@Microsoft(R) Windows(R) Operating System Å·B<br> | |
LÚ³êÄ¢é»i¼AïмÍA»ê¼êÌïÐÌ@o^¤WܽͤWÅ·B</font></small> | |
<p>@</p> | |
<p>@</p> | |
<p>@</p> | |
<p>@</p> | |
<p>@</p> | |
</body> | |
</html> |