[英]Configure HSQLDB with maven
我正在開發一個Spring應用程序,其中所有內容都使用maven配置(在pom.xml
)。 我的應用程序使用PostgreSQL數據庫,但是單元測試使用內存中的HSQLDB數據庫。
我剛遇到TEXT
列的問題,因為HSQLDB本身不支持它們。 在我的實體課程中,我有:
private @Column(columnDefinition = "text") String propertyName;
這在Postgres上可以正常使用,但是HSQLDB生成以下錯誤: type not found or user lacks privilege: TEXT
。 該表未創建,因此,大多數測試都失敗了。
我發現我需要通過將sql.syntax_pgs
設置為true
來激活PostgreSQL兼容性 。
我的問題是:該設置在哪里? 我想將其放在pom.xml
因為所有內容都在此處配置,但是我不知道在哪里。
例如,我有:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<argLine>-Dspring.profiles.active=test</argLine>
</configuration>
</plugin>
我可以<argLine>
方式添加<argLine>
嗎?
添加hsqldb依賴項時,它將使用默認的連接屬性。 您可以根據需要在屬性文件中或通過其他配置覆蓋這些屬性。 您可以將“ sql.syntax_pgs = true”設置為HSQLDB連接URL。 例如,在彈簧靴的情況下,如下所示。
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<argLine>-Dspring.datasource.url=jdbc:hsqldb:mem:PUBLIC;sql.syntax_pgs=true</argLine>
</configuration>
</plugin>
您可以在此處提供的數據源配置中進行設置
<bean class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close" id="dataSource">
<property name="driverClassName" value="org.hsqldb.jdbcDriver" />
<property name="url" value="jdbc:hsqldb:mem:PUBLIC;sql.syntax_pgs=true" />
<property name="username" value="sa" />
<property name="password" value="" />
</bean>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.