2014-02-13 1 views
0

В моем приложении я использую DB с использованием JPA (с Hibernate в качестве поставщика JPA). Когда я пытаюсь запустить запрос, система предоставляет мне пустой список результатов. Но когда я запускаю представление SQL того же запроса (взятое из журналов), он работает нормально и дает мне правильные результаты.JPQL не дает результатов

Может кто-то, пожалуйста, помогите мне понять, что может быть возможной проблемой здесь?

+1

У вас есть JPA-журнал, сгенерированный SQL, чтобы проверить, действительно ли он работает с тем же запросом. Для Hibernate вы должны использовать ''. Кроме того, двойная/тройная проверка вашего приложения запрашивает тот же БД, который вы запрашиваете вручную. – mthmulders

+0

У меня есть строка SQL, установив hibernate.show_sql в значение true. Он работает отлично, давая мне желаемые результаты. Также я уверен, что я обращаюсь к той же БД, потому что я обращаюсь к базе данных с моим собственным пользователем, и у меня нет моего пользователя, созданного на любой другой БД :-) –

+4

Я бы сделайте шаг вперед: попробуйте настроить log4jdbc, чтобы увидеть 100% -ный гарантированный правильный SQL-запрос со всеми заполненными параметрами. В базе он будет простым JDBC-запросом, который застрелен в базе данных, поэтому невозможно получить различные результирующие объекты, выполняющие один и тот же запрос в двух разных средах. – Gimby

ответ

1

Возможно, проблема связана с значениями параметров. Используете ли вы какой-либо параметр типа, который требует определенного вывода от поставщика (например, перечисление)? Я видел сложный JPQL-запрос, для которого Hibernate 3.3 не смог вывести тип перечисления (Number или String) для атрибута сущности, потому что атрибут объекта не был идентифицирован с псевдонимом сущности в запросе (вместо этого вместо entityAttribute alias.entityAttribute). Перечисление было задано как параметр в его сериализованной форме. Как и @Gimby, вы можете проверить полные журналы Hibernate, чтобы узнать, какие реальные значения заданы как параметры.

+0

Большое спасибо, проблема была с значениями параметров, у меня выпадало значение имело место в нем и из-за чего jquery читал только половину значения. Я попробовал p6spy и получил ответ. Спасибо тонну снова. –