<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-37175547</id><updated>2011-08-01T20:30:31.761+08:00</updated><title type='text'>鍵盤奴隸's 苦水  -  敲爛鍵盤也要讓你知</title><subtitle type='html'>雖然我是鍵盤的奴隸，但我是自己思想的主人</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.kbslave.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37175547/posts/default?max-results=3'/><link rel='alternate' type='text/html' href='http://blog.kbslave.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/37175547/posts/default?start-index=4&amp;max-results=3'/><author><name>鍵盤奴隸</name><uri>http://www.blogger.com/profile/13579133259800963000</uri><email>vincent@kbslave.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>33</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>3</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-37175547.post-3061430465916233659</id><published>2009-10-07T10:26:00.002+08:00</published><updated>2009-10-07T10:28:58.246+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='開發技術'/><title type='text'>HTML alt 與 title 傻傻分不清</title><content type='html'>&lt;span style="padding-left: 20px;font-style: italic;"&gt;ALT: is a required element for images and can only be used for image tags because its specific purpose is to describe images.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="padding-left: 20px;font-style: italic;"&gt;TITLE: You can use the TITLE attribute for just about any page element&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;參考：&lt;a href="http://www.netmechanic.com/news/vol6/html_no1.htm"&gt;http://www.netmechanic.com/news/vol6/html_no1.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Alt雖然被定義是用來描述圖片之說明，雖然IE可以很順利的使用，但FF卻不吃那套，因此在img tag中還是建議使用通吃的title屬性。title屬性不僅可以使用在image tag中，也可以使用在table, table row, table column，任何一個HTML元素皆可使用。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37175547-3061430465916233659?l=blog.kbslave.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.kbslave.com/feeds/3061430465916233659/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=37175547&amp;postID=3061430465916233659' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37175547/posts/default/3061430465916233659'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37175547/posts/default/3061430465916233659'/><link rel='alternate' type='text/html' href='http://blog.kbslave.com/2009/10/html-alt-title.html' title='HTML alt 與 title 傻傻分不清'/><author><name>鍵盤奴隸</name><uri>http://www.blogger.com/profile/13579133259800963000</uri><email>vincent@kbslave.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='17096711565153426591'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37175547.post-3549314876365613928</id><published>2009-09-18T23:07:00.007+08:00</published><updated>2009-09-18T23:53:09.207+08:00</updated><title type='text'>Hibernate第二彈: 反工程？(Reveng.xml)</title><content type='html'>啥？什麼意思？其實簡單的說就是可以將Sql的Table轉成Java Class且自動生成hbm.xml，真是太方便了！原本的Hibernate tools『正常』規則是&lt;br /&gt;&lt;ol&gt;&lt;li&gt;先利用hbm.xml來定義Sql Table與Java Class的對應(Mapping)關係&lt;/li&gt;&lt;li&gt;利用Auto-gen的方法產生*.java檔。&lt;/li&gt;&lt;/ol&gt;這樣的流程非常的不方便，因為你還要自己寫一堆SQL mapping到Java的定義文件，例如：你要寫哪一個Column為Primary key，或那個Column的資料型態(BigInt)對應到Java是什麼資料型態(long)，請參見下方的hbm.xml定義文件&lt;br /&gt;&lt;br /&gt;&lt;div class="xml" style="border: 1px dotted gray;"&gt;&lt;ol&gt;&lt;li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"&gt;&lt;div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"&gt;&lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;hibernate&lt;/span&gt;-mapping &lt;span style="color: #000066;"&gt;package&lt;/span&gt;=&lt;span style="color: #ff0000;"&gt;"entity"&lt;/span&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt; &lt;li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"&gt;&lt;div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;class&lt;/span&gt; &lt;span style="color: #000066;"&gt;name&lt;/span&gt;=&lt;span style="color: #ff0000;"&gt;"Department"&lt;/span&gt; &lt;span style="color: #000066;"&gt;table&lt;/span&gt;=&lt;span style="color: #ff0000;"&gt;"DEPARTMENTS"&lt;/span&gt; &lt;span style="color: #000066;"&gt;proxy&lt;/span&gt;=&lt;span style="color: #ff0000;"&gt;"Department"&lt;/span&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt; &lt;li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"&gt;&lt;div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;meta&lt;/span&gt; &lt;span style="color: #000066;"&gt;attribute&lt;/span&gt;=&lt;span style="color: #ff0000;"&gt;"class-description"&lt;/span&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt; &lt;li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"&gt;&lt;div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Comment&amp;nbsp;&lt;/div&gt;&lt;/li&gt; &lt;li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"&gt;&lt;div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;/meta&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt; &lt;li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"&gt;&lt;div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;id&lt;/span&gt; &lt;span style="color: #000066;"&gt;name&lt;/span&gt;=&lt;span style="color: #ff0000;"&gt;"id"&lt;/span&gt; &lt;span style="color: #000066;"&gt;column&lt;/span&gt;=&lt;span style="color: #ff0000;"&gt;"ID"&lt;/span&gt;&amp;nbsp; &lt;span style="color: #000066;"&gt;type&lt;/span&gt;=&lt;span style="color: #ff0000;"&gt;"int"&lt;/span&gt; &lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt; &lt;li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"&gt;&lt;div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;generator&lt;/span&gt; &lt;span style="color: #000066;"&gt;class&lt;/span&gt;=&lt;span style="color: #ff0000;"&gt;"assigned"&lt;/span&gt; &lt;span style="font-weight: bold; color: black;"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt; &lt;li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"&gt;&lt;div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;/id&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt; &lt;li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"&gt;&lt;div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;property&lt;/span&gt; &lt;span style="color: #000066;"&gt;name&lt;/span&gt;=&lt;span style="color: #ff0000;"&gt;"name"&lt;/span&gt; &lt;span style="color: #000066;"&gt;type&lt;/span&gt;=&lt;span style="color: #ff0000;"&gt;"string"&lt;/span&gt; &lt;span style="color: #000066;"&gt;column&lt;/span&gt;=&lt;span style="color: #ff0000;"&gt;"NAME"&lt;/span&gt; &lt;span style="color: #000066;"&gt;not-null&lt;/span&gt;=&lt;span style="color: #ff0000;"&gt;"true"&lt;/span&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt; &lt;li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"&gt;&lt;div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;meta&lt;/span&gt; &lt;span style="color: #000066;"&gt;attribute&lt;/span&gt;=&lt;span style="color: #ff0000;"&gt;"field-description"&lt;/span&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;department name&lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;/meta&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt; &lt;li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"&gt;&lt;div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;meta&lt;/span&gt; &lt;span style="color: #000066;"&gt;attribute&lt;/span&gt;=&lt;span style="color: #ff0000;"&gt;"use-in-tostring"&lt;/span&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;true&lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;/meta&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt; &lt;li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"&gt;&lt;div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;/property&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt; &lt;li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"&gt;&lt;div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;/class&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt; &lt;li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"&gt;&lt;div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"&gt;&lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;/hibernate&lt;/span&gt;-mapping&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;/div&gt;&lt;/li&gt; &lt;li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"&gt;&lt;div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;看起來很囉唆吧，若你要寫這樣的XML才能正確的Mapping成Java Class，看來一堆人都要打退堂鼓了。於是我又繼續追尋前人的腳步，找尋到了Hibernate tools裡頭的Reverse engineer的功能，真的是還挺方便的，主要是可以根據SQL表格的定義自動產生hbm.xml，這樣就不需要再輸入冗長的XML定義文件，如下圖操作介面：&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_qz-IdRXzTBA/SrOs02CLMmI/AAAAAAAACZ8/_Ea9wMHmq0c/s1600-h/tttt.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 320px;" src="http://4.bp.blogspot.com/_qz-IdRXzTBA/SrOs02CLMmI/AAAAAAAACZ8/_Ea9wMHmq0c/s400/tttt.png" alt="" id="BLOGGER_PHOTO_ID_5382836003495686754" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;這邊你當然可以不用填自定義的反工程檔(reveng.xml)及策略類別(reveng strategy)，他會依預設的方法將資料庫所有的表格轉換成對應的Java Class，但轉換的過程裝可能會有你不如意的地方，例如他轉換後產生的Java Class名稱可能不如你意，你會想要改變他的Class名稱，這時你可以寫一個自定義的reveng.xml來改變他，如下：&lt;br /&gt;&lt;br /&gt;&lt;div class="xml" style="border: 1px dotted gray;"&gt;&lt;ol&gt;&lt;li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"&gt;&lt;div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"&gt;&lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;hibernate&lt;/span&gt;-reverse-engineering&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt; &lt;li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"&gt;&lt;div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;table&lt;/span&gt;-filter &lt;span style="color: #000066;"&gt;match-name&lt;/span&gt;=&lt;span style="color: #ff0000;"&gt;".*"&lt;/span&gt;&lt;/div&gt;&lt;/li&gt; &lt;li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"&gt;&lt;div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #000066;"&gt;package&lt;/span&gt;=&lt;span style="color: #ff0000;"&gt;"com.kbslave.db.entity"&lt;/span&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt; &lt;li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"&gt;&lt;div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;/table&lt;/span&gt;-filter&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt; &lt;li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"&gt;&lt;div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"&gt;&amp;nbsp; &amp;nbsp; &lt;/div&gt;&lt;/li&gt; &lt;li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"&gt;&lt;div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;table&lt;/span&gt; &lt;span style="color: #000066;"&gt;name&lt;/span&gt;=&lt;span style="color: #ff0000;"&gt;"TableA"&lt;/span&gt; &lt;span style="color: #000066;"&gt;catalog&lt;/span&gt;=&lt;span style="color: #ff0000;"&gt;"dbname"&lt;/span&gt;&lt;/div&gt;&lt;/li&gt; &lt;li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"&gt;&lt;div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #000066;"&gt;class&lt;/span&gt;=&lt;span style="color: #ff0000;"&gt;"com.kbslave.db.entity.TestClassB"&lt;/span&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt; &lt;li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"&gt;&lt;div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;/table&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt; &lt;li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"&gt;&lt;div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"&gt;&lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;/hibernate&lt;/span&gt;-reverse-engineering&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;像這個例子就是將DB中的表格TableA，轉乘對應的Java Class且名稱為TestClassB，注意這裡要包含package名稱，所以&lt;span style="color: rgb(255, 0, 0);"&gt;要寫com.kbslave.db.entity.TestClassB，只寫TestClassB是沒用的&lt;/span&gt;。&lt;br /&gt;&lt;br /&gt;ref: &lt;a href="http://docs.jboss.org/tools/2.1.0.Beta1/hibernatetools/html/reverseengineering.html"&gt;http://docs.jboss.org/tools/2.1.0.Beta1/hibernatetools/html/reverseengineering.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37175547-3549314876365613928?l=blog.kbslave.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.kbslave.com/feeds/3549314876365613928/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=37175547&amp;postID=3549314876365613928' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37175547/posts/default/3549314876365613928'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37175547/posts/default/3549314876365613928'/><link rel='alternate' type='text/html' href='http://blog.kbslave.com/2009/09/hibernate-revengxml.html' title='Hibernate第二彈: 反工程？(Reveng.xml)'/><author><name>鍵盤奴隸</name><uri>http://www.blogger.com/profile/13579133259800963000</uri><email>vincent@kbslave.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='17096711565153426591'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_qz-IdRXzTBA/SrOs02CLMmI/AAAAAAAACZ8/_Ea9wMHmq0c/s72-c/tttt.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37175547.post-8052076966412757991</id><published>2009-09-16T22:58:00.011+08:00</published><updated>2009-09-17T20:58:33.870+08:00</updated><title type='text'>Eclipse上裝Hibernate Tools</title><content type='html'>久違的Hibernate現在又被我遇到了，說真的寫到這篇還有點見笑，因為我知道這是老技術了，但我這菜鳥現在還在談，唉～～不管啦，還是寫個筆記記一下。工欲善其事必先利其器，所以我總算找到個東西把Hibernate整進Eclipse了，其實這也不是什麼大發現，但對我而言算是邁進了一步了XD&lt;br /&gt;&lt;br /&gt;其實Hibernate Tools在安裝上有兩個方法，一個就是從官網下載下載他的Zip檔，然後把他炸進eclipse-installed-folder裡頭，但這樣的方法不是我愛的，這感覺跟configure;make;make install一樣的道理，就是你要自己搞Dependency啦！！不爽～於是我又看到另一個方法就是用Eclipse內建的Software update，只要你能找到Hibernate tools放在那個站台就可以搞定了。估大神報了一展&lt;a href="http://www.diybl.com/course/3_program/java/javashl/20081117/151168.html"&gt;明燈&lt;/a&gt;。關鍵是此URL&lt;br /&gt;&lt;br /&gt;&lt;a href="http://download.jboss.org/jbosstools/updates/stable/"&gt;http://download.jboss.org/jbosstools/updates/stable/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;只要把他加到你的Software sites就可以看到如下美麗的畫面：&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_qz-IdRXzTBA/SrEBIMBbl-I/AAAAAAAACZs/nhQcDwVF7Eg/s1600-h/temp.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 385px; height: 400px;" src="http://3.bp.blogspot.com/_qz-IdRXzTBA/SrEBIMBbl-I/AAAAAAAACZs/nhQcDwVF7Eg/s400/temp.png" alt="" id="BLOGGER_PHOTO_ID_5382084269862262754" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;接下來就一直下一步把他裝一裝～不懂？！請看&lt;a href="http://www.diybl.com/course/3_program/java/javashl/20081117/151168.html"&gt;明燈&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37175547-8052076966412757991?l=blog.kbslave.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.kbslave.com/feeds/8052076966412757991/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=37175547&amp;postID=8052076966412757991' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37175547/posts/default/8052076966412757991'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37175547/posts/default/8052076966412757991'/><link rel='alternate' type='text/html' href='http://blog.kbslave.com/2009/09/eclipsehibernate-tools.html' title='Eclipse上裝Hibernate Tools'/><author><name>鍵盤奴隸</name><uri>http://www.blogger.com/profile/13579133259800963000</uri><email>vincent@kbslave.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='17096711565153426591'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_qz-IdRXzTBA/SrEBIMBbl-I/AAAAAAAACZs/nhQcDwVF7Eg/s72-c/temp.png' height='72' width='72'/><thr:total>2</thr:total></entry></feed>