本文地址:[http://blog.csdn.net/sushengmiyan/article/details/50422102](http://blog.csdn.net/sushengmiyan/article/details/50422102)
本文作者:蘇生米沿
Hibernate?讀取你java模型類的映射元數據,并且生成schemaDDL語句。你可以將它們導出到一個text文件中,或者當你在繼承測試運行的時候直接在數據庫執行。因為大多數數據庫schema語言是有產品特性的,你需要一直保持在頭腦中的是每一個你加入到映射元數據的選項都有潛力綁定到一個特定的數據庫。
Hibernate?給你的表和約束自動創建基本的schema;它甚至會根據你選擇的主鍵生成方式來創建序列。但是也有一些hibernate不會自動創建的schema特性。這包括所有高級數據庫產品特性和其他物理存儲數據的相關特性,比如tablespace.另外,你的DBA也會經常增加一些額外的schema語句來改善你的schema.DBAs應該早期就介入并且確定hibernate自動生成的schema.絕不允許不經過檢查就將自動生成的schema部署到產品中去。
如果你的產品開發步驟允許,DBA進行的改變可以反饋到把你的JAVA系統中,增加映射元數據。在許多項目中,映射元數據可以包括所有DBA?修改的必要schema變化。然后,hibernate就可以自動生成所有產品的最終schema,包含注釋、約束、索引等等。
下一節,我們給你展示如何自定義生成的schema和如何增加自由的數據庫schema組件,我們討論自定義的數據類型,額外的一致性規則,索引,還有如何替換hibernate自動生成的schema。
?
導出schema基本文件到一個文件
Hibernate?綁定org.hibernate.tool.hbm2ddl,SchemaExport類到主方法main(),你可以從命令行運行。這個輔助可以直接跟你的數據庫會話,并且創建schema或者寫一個文本文件,以便于你的DBA可以進行自定義優化改善。