Hibernateでデータベース予約キーワードを使用する方法?

Hibernateでデータベースの予約キーワードを使用するには?

Hibernateで、列名としてデータベース予約キーワードを使用してオブジェクトをテーブルに保存しようとすると、次のエラーが発生する場合があります…

ERROR JDBCExceptionReporter:78 - 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 'Datadabase reserved keyword....

予約キーワード「DESC」

MySQLでは、「DESC」は予約キーワードです。 Hibernateでこの予約キーワードを使用する方法を示すいくつかの例を見てみましょう。

Hibernate XMLマッピングファイル

これはテーブル列のデフォルトのXMLマッピングファイルの実装であり、JDBCExceptionが発生します…

        
            
        

溶液

1. キーワードを角括弧[]で囲みます。

        
            
        

2. 二重引用符( ")を囲むには、単一引用符( ’)を使用します

        
            
        

Hibernate Annotation

これはテーブル列のデフォルトの注釈実装であり、JDBCExceptionが発生します…

        @Column(name = "DESC", nullable = false)
    public String getDesc() {
        return this.desc;
    }

溶液

1. キーワードを角括弧[]で囲みます。

        @Column(name = "[DESC]", nullable = false)
    public String getDesc() {
        return this.desc;
    }

2. 二重引用符( ")を使用して囲みます。

        @Column(name = "\"DESC\"", nullable = false)
    public String getDesc() {
        return this.desc;
    }

結論

この同じソリューションは、テーブル名として予約済みキーワードにも適用できます。