Hibernate真是受歡迎,有那么多工具為它服務,XDoclet、MiddleGen、各種插件。。。
用XDoclet生成hbm.xml就是在.java文件里寫入一些元數據,XDoclet會從這些數據以及類本身得到足夠的信息來生成目標文件。當然,除了用于hibernate,XDoclet還可以用于web、ejb等等很多用途。
XDoclet要從sourceforge上下載,包含了很多jar包、文檔和例子,我覺得文檔做得還是不錯的,查起來比較方便。要使用XDoclet,一般要通過ant來完成,也就是在ant腳本里加入XDoclet的內容。
由于eclipse已經包含了ant支持,因此我沒有專門去下載一個ant回來,而是直接使用eclipse帶的,版本是1.5.3。
創建一個名為build.xml的腳本(其實應該換個名,比如gen-hbm.xml,看起來比較明白),內容如下:
???
???
???
???????
???????????
???????
???
????
??????? classname="xdoclet.modules.hibernate.HibernateDocletTask"
??????? classpathref="myclasspath"
??????? />
???
???????
???????
???????
???????
???????
???????
??????????? excludedtags="@version,@author,@todo,@see"
??????????? addedtags="@xdoclet-generated at ${TODAY},@copyright The XDoclet Team,@author XDoclet,@version ${version}"
??????????? force="false"
??????????? verbose="true">
???????????
???????????????
???????????
???????????
???????
???
我曾經卡住的一個地方就是在taskdef里的classpathref屬性。一開始我在eclipse的ant運行參數里設置了XDoclet相關的包,總是提示:
Can't create a hibernate element under hibernatedoclet. Make sure the jar file containing the corresponding subtask class is on the classpath specified in the
后來如上設置了classpathref,即包含了XDoclet使用到的包,并將eclipse的ant里關于XDoclet的包都去掉,竟然就成功了。
Hibernate真是受歡迎,有那么多工具為它服務,XDoclet、MiddleGen、各種插件。。。用XDoclet生成hbm.xml就是在.java文件里寫入一些元數據,XDoclet會從這些數據以及類本身得到足夠的信息來生成目標文件。當然,除了用于hibernate,XDoclet還可以用于web、ejb等等很多用途。
XDoclet要從sourceforge上下載,包含了很多jar包、文檔和例子,我覺得文檔做得還是不錯的,查起來比較方便。要使用XDoclet,一般要通過ant來完成,也就是在ant腳本里加入XDoclet的內容。
由于eclipse已經包含了ant支持,因此我沒有專門去下載一個ant回來,而是直接使用eclipse帶的,版本是1.5.3。
創建一個名為build.xml的腳本(其實應該換個名,比如gen-hbm.xml,看起來比較明白),內容如下:
???
???
???
???????
???????????
???????
???
????
??????? classname="xdoclet.modules.hibernate.HibernateDocletTask"
??????? classpathref="myclasspath"
??????? />
???
???????
???????
???????
???????
???????
???????
??????????? excludedtags="@version,@author,@todo,@see"
??????????? addedtags="@xdoclet-generated at ${TODAY},@copyright The XDoclet Team,@author XDoclet,@version ${version}"
??????????? force="false"
??????????? verbose="true">
???????????
???????????????
???????????
???????????
???????
???
我曾經卡住的一個地方就是在taskdef里的classpathref屬性。一開始我在eclipse的ant運行參數里設置了XDoclet相關的包,總是提示:
Can't create a hibernate element under hibernatedoclet. Make sure the jar file containing the corresponding subtask class is on the classpath specified in the
后來如上設置了classpathref,即包含了XDoclet使用到的包,并將eclipse的ant里關于XDoclet的包都去掉,竟然就成功了。
]]>