首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当列名是关键字时出现h2+hibernate错误

当列名是关键字时出现h2+hibernate错误
EN

Stack Overflow用户
提问于 2022-01-19 09:06:58
回答 1查看 1.3K关注 0票数 0

我的产品使用MySQL 5.7,我运行h2 (MODE=MySQL)进行测试。我的连接字符串类似于:

代码语言:javascript
复制
jdbc:h2:mem:ci_main;IGNORECASE=TRUE;MODE=MySQL;

我在MySQL57InnoDBDialect中使用了Hibernate 5.6.3。

它在h2版本1.4.196上运行得很好。但是最近,我尝试将h2升级到2.0.204版本,然后SQL语句开始失败。错误是42001抱怨列名value,我认为这是一个关键字。在这两个版本之间的某个时刻,h2似乎比MySQL 5.7更严格地限制了MySQL语法。

如果我正在编写SQL语句,我可以引用列名。但是我使用的是hibernate (这在MySQL 5.7中很好),而且我不想因此而更改列名。

有没有办法让h2与MySQL 5.7更“兼容”?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-19 15:23:18

您可以将;NON_KEYWORDS=VALUE添加到JDBC。

通常,为了获得更好的兼容性,除了;DATABASE_TO_LOWER=TRUE之外,还应该使用;MODE=MySQL

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70767876

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档