Mysql-запрос работает нормально, но Hibernate не принимает его - PullRequest
0 голосов
/ 31 января 2012

У меня есть две таблицы:

enter image description here

и я запускаю запрос в MySQL, который отлично работает:

SELECT sum(toplam) 
FROM 
      (SELECT ut.uye, t.fiyatTuru AS FT, ut.nominalDeger * t.birimFiyati AS toplam         
       FROM UyeTeminat AS ut JOIN Teminat AS t ON ut.teminat = t.teminatId 
       WHERE ut.uye= :uyeId and t.fiyatTuru = :fiyatTuru
      ) AS t1 
GROUP BY t1.FT

Результат запроса выше:

sum(TOPLAM)
2010.000000
5550780.000000

Однако, когда я конвертирую его в HQL:

BigDecimal toplamTLTeminatiInteger;
toplamTLTeminatiInteger = (BigDecimal) session.createSQLQuery("SELECT sum(toplam) FROM (SELECT ut.uye, t.fiyatTuru AS FT, ut.nominalDeger * t.birimFiyati AS toplam FROM UyeTeminat AS ut JOIN Teminat AS t ON ut.teminat = t.teminatId WHERE ut.uye= :uyeId and t.fiyatTuru = :fiyatTuru) AS t1 GROUP BY t1.FT")
                    .setParameter("uyeId", uyeTeminat.getUye() )
                    .setParameter("fiyatTuru", uyeTeminat.getTeminat().getFiyatTuru()).uniqueResult();

Я получил эту ошибку:

Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'database.uyeteminat' doesn't exist

В названии таблицы нет ничего плохого, я использую UyeTeminat в других запросах.

Разве то, что я делаю в MySql, не разрешено в HQL?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...