【问题标题】:Getting SQL error after H2 upgrade from 1.x to 2.xH2 从 1.x 升级到 2.x 后出现 SQL 错误
【发布时间】:2022-01-12 11:27:18
【问题描述】:

将 H2 从 1.4.200 升级到 2.0.206,现在在我的集成测试中,我在 SQL 语句 (JdbcSQLSyntaxErrorException) 中遇到了 42001 语法错误,围绕这个选择:attributes0_.value[*] as value3_8_1_

我正在使用休眠实体。此外,仅在测试环境中使用 H2。

我试过了:

  • 在测试yaml文件中设置H2Dialect
  • 记录 SQL 语句以查看是否有任何可疑之处,但没有运气

【问题讨论】:

    标签: spring spring-boot unit-testing testing h2


    【解决方案1】:

    问题是我有一个实体(休眠)字段名称等于保留字:value;这就是为什么堆栈跟踪用星号 ([*]) 指出它的原因。关键字/保留词的完整列表can be found here

    This answer solved my issue,我在这里转发是为了人们搜索“h2 upgrade sql error”

    由于是测试环境,我快速修复了在我的测试 YAML 文件中设置 globally_quoted_identifiers: true

    对于生产环境,请确保您:

    或这些的组合。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-12
      • 2014-06-02
      • 2020-12-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-11
      • 2021-09-01
      相关资源
      最近更新 更多