В моем проекте я использую JPA 1.0 с Hibernate 3.2.x и Tomcat для развертывания.
В моем проекте я использовал следующий запрос для выполнения как именованный запрос,
SELECT smSSTJob.smJob.jobId, smSSTJob.smJob.jobTypeId, smSSTJob.omObject.objectId,
smSSTJob.omObject.objectName FROM SMSSTJob smSSTJob
WHERE smSSTJob.smJob.jobTypeId IN (:jobTypeIdList)
AND smSSTJob.jobStatusId IN (:jobStatusList)
AND smSSTJob.omObject.objectId NOT IN (SELECT sm.omObject.objectId FROM SMSSTJob sm
WHERE sm.jobStatusId IN (:unProcessedJobStatusList)
AND sm.responseReceivedDate > :responseReceivedDate)
AND smSSTJob.priority = :priority
AND smSSTJob.jobRetries < :maximumJobRetries ORDER BY smSSTJob.smJob.jobId
Пока я развертываю свой проект из-за вышеуказанного запроса, спящий режим генерирует следующее исключение:
Caused by: java.lang.NullPointerException
at org.hibernate.hql.ast.tree.FromClause.findIntendedAliasedFromElementBasedOnCrazyJPARequirements(FromClause.java:120)
at org.hibernate.hql.ast.tree.FromClause.getFromElement(FromClause.java:107)
at org.hibernate.hql.ast.tree.FromElementFactory.addFromElement(FromElementFactory.java:81)
at org.hibernate.hql.ast.tree.FromClause.addFromElement(FromClause.java:70)
at org.hibernate.hql.ast.HqlSqlWalker.createFromElement(HqlSqlWalker.java:255)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.fromElement(HqlSqlBaseWalker.java:3056)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.fromElementList(HqlSqlBaseWalker.java:2945)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.fromClause(HqlSqlBaseWalker.java:688)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.query(HqlSqlBaseWalker.java:544)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.collectionFunctionOrSubselect(HqlSqlBaseWalker.java:4253)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.inRhs(HqlSqlBaseWalker.java:4161)
Как мне разрешить это исключение? Кто-нибудь, пожалуйста, помогите мне в этом контексте. Заранее спасибо.
2 ответа
В Hibernate есть ошибка в Hibernate, решенная в версии 3.2.6 и более поздних версиях, попробуйте обновить Hibernate версия
Может быть, отсутствует одно ")"? Чтобы закрыть свой подзапрос.
НЕ В (ВЫБРАТЬ sm.omObject.objectId ИЗ SMSSTJob sm ГДЕ sm.jobStatusId IN (: unProcessedJobStatusList)
Похожие вопросы
Новые вопросы
java
Java — это высокоуровневый объектно-ориентированный язык программирования. Используйте этот тег, если у вас возникли проблемы с использованием или пониманием самого языка. Этот тег часто используется вместе с другими тегами для библиотек и/или фреймворков, используемых разработчиками Java.