我正在尋找當Hibernate自動更新表時獲取SQL更新腳本的方式。從Hibernate獲取SQL腳本更新
我在開發環境中只使用hibernate.hbm2ddl.auto=update
,我需要SQL腳本來更新生產表。
我希望這些SQL腳本能夠以txt格式進行修改和編輯。
這怎麼辦? 感謝您的任何建議。
我正在尋找當Hibernate自動更新表時獲取SQL更新腳本的方式。從Hibernate獲取SQL腳本更新
我在開發環境中只使用hibernate.hbm2ddl.auto=update
,我需要SQL腳本來更新生產表。
我希望這些SQL腳本能夠以txt格式進行修改和編輯。
這怎麼辦? 感謝您的任何建議。
org.hibernate.cfg.Configuration
類有方法:
public java.lang.String[] generateSchemaUpdateScript(Dialect, DatabaseMetadata)
什麼產生reqiured更新腳本。
我剛剛實現了這個Grails中:
configuration = new DefaultGrailsDomainConfiguration(
grailsApplication: grailsApplication,
properties: props)
//this extends hibernate config
Connection c = SessionFactoryUtils.getDataSource(sessionFactory).getConnection(props.'hibernate.connection.username', props.'hibernate.connection.password')
<br/>md = new DatabaseMetadata(c, DialectFactory.buildDialect(props.'hibernate.dialect'))
configuration.generateSchemaUpdateScript(DialectFactory.buildDialect(props.'hibernate.dialect'), md)
)
check SchemaExport script in grails, for further information, it uses hibernate to generate schema.
(我不得不implent是作爲一種服務,因爲我們有外部域模型)
謝謝,我不知道Hibeernate日誌這個也是。 – 2011-02-23 17:18:10