通過XDoclet可以我們的精力放在編寫java源文件上。
具體來說就是:
只有Java: java--->XDoclet(hibernatedoclet)--->Hbm---->SchemaExport(schemaexport,hbm2ddl)---->數據表
1:java源文件編寫

























































這里用到了幾種@hibernate標記的用法
@hibernate.class標記指定類的映射代碼,lazy="true" table="syn_dept"則如
hibernate的映射文件class元素的屬性值具有相同的意義
@hibernate.id標記指定類的OID映射代碼
@hibernate.property標記指定類的屬性映射代碼
另外還可能用到@hibernate.set(如一對多的情況下)
2:XDoclet--->Hbm(寫在build.xml文件中,ANT運行)














通過hibernatedoclet就可以生成SynDepartment.hbm.xml映射文件
fileset顧名思義就是過濾文件了。
注:compileEntity--編譯java源文件(自定義)
3:SchemaExport---->數據表













?通過schemaexport就向DB中生成table了。其中可能用到如下的一些屬性:
?quiet:如果為yes,表示不把子DDL腳本輸出到控制臺
?drop:如果為yes,只執行刪除數據庫中的操作,但不創建新的表
?text:如果為yes,只會生成DDL腳本文件,但不會在數據庫中執行DDL腳本
?output:指定存放DDL腳本文件的目錄
?config:設定基于XML格式的配置文件, hbm2ddl(schemaexport)工具從這個文件中讀取數據庫的配置信息
?properties:設定基于java屬性文件格式的配置文件,hbm2ddl(schemaexport)工具從這個文件中讀取DB的配置信息
?format:設定DDL腳本中SQL語句的格式
?delimiter:為DDL腳本設置行結束符
?
?在ANT中執行:
?<target name="initOnlySynup" depends="toHbm,toddl">
?</target>
?
?OK,最后生成的映射文件如下:











































?控制臺中部分信息如下:









DB中已經生成syn_dept表了,快去看下吧!
關于Xdoclet 中的hibernate標簽更多信息可以參考:
http://xdoclet.sourceforge.net/xdoclet/tags/hibernate-tags.html#@hibernate_collection-key__0__1_
我還在一個網友的博客上看到了他對此的漢化:
http://blog.csdn.net/fasttalk/archive/2005/09/19/484615.aspx
參考資料:Hibernate持久化技術詳解