2014-02-09 3 views
0

В моей User.hbm.xml у меня есть:Hibernate 4.3.0 XML Mapping экранирующих символов Исключение

<property name="delete" type="java.lang.String"> 
     <column name="`delete`" /> 
</property> 

Я также попытался с '' и [], но все они дают один и тот же исключение:

org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions

ERROR: 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 '"delete"

Если я изменяю имя столбца от delete до deletea, тогда он работает, поэтому я знаю, что он не ускользает от имени столбца должным образом.

ответ

1

Вы могли бы попробовать установка этого свойства автоматически процитировать все идентификаторы:

hibernate.globally_quoted_identifiers=true 
+0

Похоже, сервер MySQL 5.6 имеет проблема с синтаксисом, который использует Hibernate. Hibernate ставит «двойные кавычки» во всем, что не является допустимым синтаксисом в соответствии с MySQL Server ... – ThreaT

+0

Вы установили 'hibernate.dialect = org.hibernate.dialect.MySQL5InnoDBDialect'? –

0

Просто попробуйте изменить этот

<column name="`name`" /> 

к этому

<column name="name" /> 
Смежные вопросы