我们有一个项目包括 Eclipselink 和 MySQL。
例如,如果我们使用简单查询:
SELECT a from ExampleTable a
它被转换成这样的东西:
SELECT `id`, `code`, `high`, `key`, `name`, `regionalCode` FROM `ExampleTable`
如果我使用的是 JPA 控制台,我会得到类似的东西:
SELECT id, code, high, key, name, regionalCode FROM ExampleTable
和错误信息
[42000][1064] You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'key, name, regionalCode FROM ExampleTable' at line 1
问题是“关键”列,但我没有机会重命名它。
我试图找到解决该问题的选项,但没有结果。
我认为如果没有答案 - 好方法是创建错误报告。
我们如何获得列的封闭名称?
我们正在使用EntityManager
EntityManager em;
...
TypedQuery = em.createQuery("SELECT et FROM ExampleTable et");
如果我们运行它,我们会看到(在调试模式下)生成的查询中的所有名称都用 ` 符号括起来。