如何配置用于 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 {
我尝试将 @AutoConfigureTestDatabase 与 application.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