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");
これを実行すると、(デバッグ モードで) 生成されたクエリ内のすべての名前が ` 記号で囲まれていることがわかります。