我正在開發一個Spring應用程序,其中一切都使用maven配置(在pom.xml
)。我的應用程序使用PostgreSQL數據庫,但單元測試使用內存中的HSQLDB數據庫。使用maven配置HSQLDB
我只是遇到TEXT
列的問題,因爲它們本身不受HSQLDB支持。在我的實體類,我有:
private @Column(columnDefinition = "text") String propertyName;
這正常工作與Postgres的,但HSQLDB正在生成以下錯誤:type not found or user lacks privilege: TEXT
。該表格並未創建,當然,因爲我的大多數測試都失敗了。
我發現我需要activate PostgreSQL compatibility才能通過將sql.syntax_pgs
設置爲true
來工作。
我的問題是:我在哪裏放這個設置?我想把它放在pom.xml
因爲一切都在那裏配置,但我不知道在哪裏。
對於爲例,我有:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<argLine>-Dspring.profiles.active=test</argLine>
</configuration>
</plugin>
我可以以某種方式使用此設置添加一個<argLine>
?
我該把這個放在哪裏?另外我只想在使用'test'配置文件時生效。 – deadbeef
當你爲測試配置HSQLDB時,你需要把它放在這裏。該屬性將被設置爲使用hsqldb的所有測試。 –
我沒有在任何地方配置HSQLDB,我只是將它作爲依賴項添加到'pom.xml'中,然後在運行測試時由maven自動使用它。 – deadbeef