首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用maven配置HSQLDB

用maven配置HSQLDB
EN

Stack Overflow用户
提问于 2016-09-23 12:54:55
回答 2查看 2K关注 0票数 0

我正在开发一个Spring应用程序,其中所有东西都配置了maven (在pom.xml中)。我的应用程序使用PostgreSQL数据库,但是单元测试使用内存中的HSQLDB数据库.

我只是遇到了TEXT列的问题,因为HSQLDB本机不支持它们。在我的实体类中:

代码语言:javascript
运行
复制
private @Column(columnDefinition = "text") String propertyName;

这在Postgres中很好,但是HSQLDB生成了以下错误:type not found or user lacks privilege: TEXT。该表没有创建,因此我的大多数测试都失败了。

我发现我需要激活PostgreSQL兼容性,以便通过将sql.syntax_pgs设置为true来使其工作。

我的问题是:我该把这个设置放在哪里?我想把它放在pom.xml中,因为所有的东西都配置在那里,但我不知道在哪里。

例如,我有:

代码语言:javascript
运行
复制
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <configuration>
        <argLine>-Dspring.profiles.active=test</argLine>
    </configuration>
</plugin>

我可以在这个设置中添加一个<argLine>吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-09-24 06:29:04

添加hsqldb依赖项时,它使用默认连接属性。您可以根据需要在属性文件中或通过其他配置覆盖这些属性。您可以将"sql.syntax_pgs=true“设置为HSQLDB连接url。例如,在弹簧引导的情况下,这将如下所示。

代码语言:javascript
运行
复制
<plugin>
    <artifactId>maven-surefire-plugin</artifactId>
        <configuration>
              <argLine>-Dspring.datasource.url=jdbc:hsqldb:mem:PUBLIC;sql.syntax_pgs=true</argLine>
        </configuration>
</plugin>
票数 1
EN

Stack Overflow用户

发布于 2016-09-23 13:23:50

可以在数据资源配置中将其设置为给定的这里

代码语言:javascript
运行
复制
<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>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39661332

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档