小编phi*_*g31的帖子

SpringBootTest 由于 PageRequest 而出现 h2 v2.1.214 错误

从 Spring boot 2.5.6 升级到 2.7.3 后,我有一些测试错误。

作为信息,我们使用 Oracle 作为数据库,使用 h2 进行测试。

我有一些测试失败,出现以下错误:

Caused by: org.h2.jdbc.JdbcSQLSyntaxErrorException
Run Code Online (Sandbox Code Playgroud)

事实上,h2的版本之前是1.4.200,现在是2.1.214,很多东西似乎都发生了变化。根据错误的测试,错误的原因并不总是相同的。有时这是一个未找到表的错误(尚未解决),有时是一个“类型“BOOLEAN”和“INTEGER”的值不可比较”的错误(通过更新与像这样的布尔列myBoolean = 0,它已更新为myBoolean = false) 并且我在使用 PageRequest 完成的查询上也有错误。

对于最后一种情况,我有一个像这样的控制器:

public Page<MyEntity> doSomething() {
    final Sort sort = Sort.by(Order.desc("column1"));
    final PageRequest pageRequest = PageRequest.of(0, 1000, sort);
    return myEntityRepository.findAll(pageRequest);
}
Run Code Online (Sandbox Code Playgroud)

但我有一个这样的错误:

Caused by: org.h2.jdbc.JdbcSQLSyntaxErrorException: Syntax error in SQL statement "select myentity0_.id as id1_47_, myentity0_.column1 as column1_47_, myentity0_.column2 as column2_47_ from my_table myentity0_ order by myentity0_.column1 desc [*]limit ?"; SQL statement:
select myentity0_.id …
Run Code Online (Sandbox Code Playgroud)

h2 spring-boot

3
推荐指数
1
解决办法
2461
查看次数

标签 统计

h2 ×1

spring-boot ×1