Синтаксическая ошибка HQL

Я долго отлаживал, не мог найти, почему этот HQL не работает:

   <sql-query name="getCampaignParameters">
    <![CDATA[ 
      from CampaignParameter cp 
      where cp.campaign = :campaign    
    ]]>
    <query-param name="campaign" type="com.bean.Campaign"/> 
   </sql-query>

Это говорит: У вас есть ошибка в вашем синтаксисе SQL; проверьте руководство, которое соответствует вашей версии сервера MySQL для правильного синтаксиса, чтобы использовать рядом ‘ от CampaignParameter cp
где cp.кампания = 1 ‘ в строке 1

I didn’T pass the 1, what could be wrong with this thing?

1 ответ

  1. Ну, элемент назван sql-query. Поэтому он должен содержать SQL-запрос, а не HQL-запрос.

    Если вы хотите определить запрос HQL, используйте <query>.

    Или лучше прекратите использовать XML-файлы для определения сопоставлений и запросов.