В моем проекте я использую 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)

Как мне разрешить это исключение? Кто-нибудь, пожалуйста, помогите мне в этом контексте. Заранее спасибо.

0
Bhuvanesh Waran 27 Апр 2016 в 11:25

2 ответа

Лучший ответ

В Hibernate есть ошибка в Hibernate, решенная в версии 3.2.6 и более поздних версиях, попробуйте обновить Hibernate версия

0
Javasick 27 Апр 2016 в 09:59

Может быть, отсутствует одно ")"? Чтобы закрыть свой подзапрос.

НЕ В (ВЫБРАТЬ sm.omObject.objectId ИЗ SMSSTJob sm ГДЕ sm.jobStatusId IN (: unProcessedJobStatusList)

-2
michaeldbjava 27 Апр 2016 в 08:30