簡體   English   中英

使用Maven配置HSQLDB

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM