Hibernate Native Query error - PullRequest
       3

Hibernate Native Query error

0 голосов
/ 21 апреля 2011

Я получаю странную ошибку при попытке выполнить собственный запрос в спящем режиме. Это мой запрос:

String qsf = "LEFT OUTER JOIN record_v2_record_audit rra ON r.record_id = rra.record_id "
    + "LEFT OUTER JOIN record_audit ra ON rra.record_audit_id = ra.record_audit_id AND rra.record_audit_id = ra.record_audit_id "
    + "LEFT OUTER JOIN repeating_field rf ON r.record_id = rf.record_id "
    + "LEFT OUTER JOIN repeating_field_field rff ON rf.repeating_field_id = rff.repeating_field_id "
    + "LEFT OUTER JOIN field_v2 f ON rff.field_id = f.field_id AND rff.field_id = f.field_id "
    + "LEFT OUTER JOIN field_image_v2 fi ON f.field_id = fi.field_id "
    + "WHERE r.record_type_id = 1 " 
    + "AND r.public_access = 0 "
    + "AND r.status = 'A' " 
    + "AND ra.process_type = 'A' "
    + "AND rf.field_type_id = 100032011 "
    + "AND fi.public_access = 'A'";

    qsc = "SELECT COUNT(DISTINCT r.record_id) FROM record_v2 r "
                    + qsf + " ;";

И я выполняю запрос таким образом:

BigInteger totalRecords = (BigInteger) entityManager.createNativeQuery(
                qsc).getSingleResult();

Но яполучаю эту ошибку:

javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: не удалось выполнить запрос

, и бит, который действительно выдает меня,this:

Причина: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: у вас есть ошибка в вашем синтаксисе SQL;проверьте руководство, соответствующее вашей версии сервера MySQL, на предмет правильного синтаксиса для использования вблизи 'предела 2' в строке 1

, отображаемой в трассировке стека.

Запрос выполняется без ошибок изАдминистратор MySQl, поэтому я в растерянности.

Я использую JBoss 5 с JDBC 5.1.15 в Ubuntu 10.10.

Заранее благодарен за любую помощь ...!

1 Ответ

1 голос
/ 21 апреля 2011

Я полагаю, что проблема вызвана конечной точкой с запятой, попробуйте удалить ее:

qsc = "SELECT COUNT(DISTINCT r.record_id) FROM record_v2 r " + qsf; 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...