Я пытался запустить hql для некоторых целей отчетности в моем приложении на основе JPA.Следующий запрос, который я пытался, продолжал вызывать при запуске (так как я дал его как NamedQuery, он был проверен на синтаксис при запуске).
Неверный запрос:
SELECT t FROM Table_1 tb1
INNER JOIN
Table_2 tb2
where tb1.name = 'someName';
После множества перестановок и комбинаций (и перебора других частей запроса, о которых я подозревал ранее), я понял, что проблема заключается в « t ».Вместо приведенного выше запроса правильный запрос должен был быть ...
SELECT tb1 FROM Table_1 tb1
INNER JOIN
Table_2 tb2
where tb1.name = 'someName';
Обратите внимание, что HQL ожидает, что tb1 будет таким же, как и короткое имя таблицы " tb1"
Недостаток tableName и несоответствие выбора только привели к проблеме, с которой я столкнулся.Удивительно, но hibernate / JPA не выдает ошибку в стеке, но развертывание продолжается, и мне нужно в конечном итоге завершить процесс java, чтобы выйти из него.
Надеюсь, это кому-нибудь поможет.
Было бы здорово, если бы кто-то мог также объяснить это поведение.
Спасибо !!