当前使用版本(必填,否则不予处理)

3.5.3.1

该问题是如何引起的?(确定最新版也有问题再提!!!)

使用spring boot3 + queryWrapper

重现步骤(如果有就写完整)

用户表:

@Entity
@Data
@Table(name="`USER`")
public class User {

    @Id
    @GeneratedValue
    private Integer id;
    private String firstName;
    private String lastName;
    private Integer age;
    private LocalDate birthday;

}

执行queryWrap查询

        QueryWrapper<User> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("last_name", "Matthews");
        result = userMapper.selectList(queryWrapper);

报错信息

org.springframework.jdbc.BadSqlGrammarException: 

### Error querying database.  Cause: org.h2.jdbc.JdbcSQLSyntaxErrorException: Syntax error in SQL statement "SELECT  id,first_name,last_name,age,birthday  FROM [*]user \000a \000a WHERE (last_name = ?)"; expected "identifier"; SQL statement:
SELECT  id,first_name,last_name,age,birthday  FROM user 

 WHERE (last_name = ?) [42001-214]
### The error may exist in com/linkcld/fw/test/user/UserMapper.java (best guess)
### The error may involve com.linkcld.fw.test.user.UserMapper.selectList
### The error occurred while executing a query
### SQL: SELECT  id,first_name,last_name,age,birthday  FROM user     WHERE (last_name = ?)
### Cause: org.h2.jdbc.JdbcSQLSyntaxErrorException: Syntax error in SQL statement "SELECT  id,first_name,last_name,age,birthday  FROM [*]user \000a \000a WHERE (last_name = ?)"; expected "identifier"; SQL statement:
SELECT  id,first_name,last_name,age,birthday  FROM user 

 WHERE (last_name = ?) [42001-214]
; bad SQL grammar []
        at com.linkcld.fw.test.user.UserRepositoryTest.sampleTestCase(UserRepositoryTest.java:75)
Caused by: org.h2.jdbc.JdbcSQLSyntaxErrorException: 
Syntax error in SQL statement "SELECT  id,first_name,last_name,age,birthday  FROM [*]user \000a \000a WHERE (last_name = ?)"; expected "identifier"; SQL statement:
SELECT  id,first_name,last_name,age,birthday  FROM user 

Comment From: qmdx

h2 不能用 user

Comment From: jackxu2011

h2 不能用 user

这个user加了转译,用spring boot 2 + mybatis plus没有问题。

Comment From: jackxu2011

我换一个表名试试

Comment From: jackxu2011

h2 不能用 user

换一个表名可以了,有可能是h2的版本问题。