从 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)