如何配置@JdbcTest中使用的H2?

问题描述 投票:0回答:1

如何配置用于 H2 的兼容性设置@JdbcTest

jdbc:h2:~/test;MODE=MSSQLServer;DATABASE_TO_UPPER=FALSE;CASE_INSENSITIVE_IDENTIFIERS=TRUE

我需要执行以下查询:

SELECT  [ID]
     FROM TEST_TABLE
WHERE ID = ? 
OFFSET 0 ROWS
FETCH NEXT ? ROWS ONLY

仅当 SQL Server 兼容模式已激活时才能运行。

我找不到任何选项来配置以这种方式编写的测试:

@JdbcTest @Sql(scripts = "/test_setup.sql") class RepositoryTest {
我尝试将 

@AutoConfigureTestDatabaseapplication.properties

 中的 
test/java/resources/
一起使用

输入以下内容:

@JdbcTest @Sql(scripts = "/test_setup.sql") @AutoConfigureTestDatabase class RepositoryTest { spring.datasource.url= jdbc:h2:~/test;MODE=MSSQLServer;DATABASE_TO_UPPER=FALSE;CASE_INSENSITIVE_IDENTIFIERS=TRUE spring.test.database.datasource.url= jdbc:h2:~/test;MODE=MSSQLServer;DATABASE_TO_UPPER=FALSE;CASE_INSENSITIVE_IDENTIFIERS=TRUE
它们都没有任何影响并导致:

org.springframework.jdbc.BadSqlGrammarException
    
java spring spring-boot h2
1个回答
0
投票
也许这篇文章可以帮到你

https://www.baeldung.com/spring-testing-separate-data-source

伊万!

© www.soinside.com 2019 - 2024. All rights reserved.