2015-05-19 19 views
0

我有一臺服務器與我需要測試的數據庫交談。我使用Hibernate連接到數據庫並使用Gradle管理依賴關係。我想在MySql中使用單獨的表進行生產和測試。所以我有這個當前行的hibernate.cfg.xml:如何在Hibernate和Gradle中使用模板?

<property name="hibernate.connection.url">jdbc:mysql://127.0.0.1:3306/production_database</property> 

但我真正想要的是,它是這樣的:

<property name="hibernate.connection.url">jdbc:mysql://127.0.0.1:3306/${DATABASE_NAME}</property> 

,然後當我運行gradle test,DATABASE_NAME可設置爲「test_database_name」,當我運行gradle jettyRun時它仍然是「production_database」。這看起來應該是可能的,但是當我爲谷歌「hibernate teplating」時,我得到了引用另一個名爲HibernateTemplate的東西,它與我想要的無關,據我所知。什麼語法會使這發生在我身上?

回答

1

您應該將該屬性移出hibernate.cfg.xml並移入database.properties文件。

然後,您可以使用gradle根據參數修改此文件。

請參閱Gradle Tasks。

ant.propertyfile(
     file: "database.properties") { 
     entry(key: "connectionurl", value: "somevalue") 
    }