Hibernate - 名前がnameの列がDESCなどのキーワードである場合、挿入できません

Hibernate – DESCなどの名前の列がキーワードの場合、挿入できません

問題

MySQLデータベースの「category」という名前のテーブルには、列名として「DESC」キ​​ーワードが含まれています。

CREATE TABLE `category` (
  `CATEGORY_ID` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `NAME` varchar(10) NOT NULL,
  `DESC` varchar(255) NOT NULL,
  PRIMARY KEY (`CATEGORY_ID`) USING BTREE
);

HibernateXMLマッピングファイル


    
        ...
        
            
        
       ...
    

または休止状態の注釈

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

カテゴリテーブルに挿入すると、次のエラーメッセージがヒットします。

Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:
   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 'DESC)
   values ('CONSUMER', 'CONSUMER COMPANY')' at line 1
   ... 35 more

溶液

Hibernateでは、「keyword」列名に挿入するには、この「[column name]」のように囲む必要があります。

HibernateXMLマッピングファイル


    
        ...
        
            
        
       ...
    

または休止状態の注釈

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