2013-06-06 1 views
0

Настройка состоит из Hibernate 3. Я пытаюсь выполнить необработанный запрос как есть. Настройка работает отлично для других простых запросов, db вставляет & обновлений.Hibernate - Необработанный запрос execute_KEY Ошибка в запросе?

Запрос в вопросе:

org.hibernate.hql.ast.QuerySyntaxException: unexpected token: (near line 1, column 29 [ 
      SELECT keyMain, value FROM (select distinct K.[key] as keyMain, 
      (SELECT value FROM com.trans.dto.Resources as L WHERE L.[key] = K.[key] 
       and L.lang_code = 'A11') as value from com.trans.dto.Resources as K) 
       as test order by keyMain ] 

ресурсов является таблица & имеет настройки отображения в hibernate.cfg.xml

  1. Я был под мысленный «KEY» является именем одного столбца, который нельзя изменить. Как избежать ключевых слов?

  2. Если нет 1, то это multi selects in sub query.

Просьба сообщить. Любое предложение очень помогает.

ответ

0

От here:

You can force Hibernate to quote an identifier in the generated SQL 
by enclosing the table or column name in backticks in the mapping document. 
Hibernate will use the correct quotation style for the SQL Dialect. 
This is usually double quotes, but the SQL Server uses brackets and MySQL uses backticks. 

Так, попытайтесь сбежать от поля в двойные кавычки или квадратных скобках ("[ключ]).

+0

Спасибо, Алекс. Но я попробовал следующие опции: [Key], '[Key]', "[key]", "key" ничего не работало. Кажется сумасшедшим, но все это пробовали. Невозможно изменить имя столбца из-за эффекта пульсации изменений кода в других приложениях. –

Смежные вопросы