增加輔助的數據庫組件

本文作者:蘇生米沿

本文地址:http://blog.csdn.net/sushengmiyan/article/details/50445936


你可以將如下三種類型的腳本綁定到hibernateschema生成程序中:

1.schema生成的時候,創建腳本create就會執行。一個自定義的創建腳本可以在hibernate自動生成腳本之前,之後,甚至可以直接替換。換句話說,你可以寫一個SQL腳本,這個腳本從你的映射元數據中在hibernate生成表、約束之前或之後運行。

2.Drop語句,在hibernate移除schema的時候執行。像create腳本一樣,drop語句可以在自動生成之前之後或者直接替換hibernate的自動生成語句。

3.Load語句,總是在hibernate生成schema之後纔去執行,作爲生成的最後一步,它的主要目的就是導入你的程序運行之前的測試或者主數據。它可以包括任何形式的SQL語句,包括想alter這樣的DDL語句,如果你想進一步優化自定義你的schema的話。

這個自定義已經是事實上的標準了,你可以使用JPApersistence.xml來配置這個持久化單元屬性。

①.默認情況下,hibernate期望一個SQL語句佔一行。啓用多行語句就靠第一個轉換了。你可以實現自己的org.hibernate.tool.hbm2ddl.ImportSqlCommondExtractor 如果你想要根據你自己的不同的方式來處理SQL腳本的話。

.這個屬性定義了何時你創建或者銷燬腳本會被調用。你自定義的腳本將會包括CREATE DOMAN語句,它必須要在表創建使用這些DOMAIN的之前被創建。有了這些設置,schema生成器就在ORM元數據讀取之前執行這個創建語句。Drop語句就是在hibernatedrop表的時候給你了一個清楚你創建的數據的機會。

③.這是SQL腳本的位置,路徑是從classpath開始算的。

④.這是drop語句的位置所在。

⑤.這個腳本在表創建之後執行。

我們提及過,DDL是跟產品特性掛鉤的,如果你的產品支持多種數據源,你就需要設置各種的方言。你可以通過多個持久化單元的方式來解決這個問題。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章