我正在开发一个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