StartException в service persistenceunit — возможные проблемы с запросами гибернации?

#java #hibernate #jpa #jboss #liferay

#java #гибернация #jpa #jboss #liferay

Вопрос:

У меня есть проект портлета Liferay, который я хотел бы развернуть на JBoss Liferay. Раньше это работало нормально, но другой проект, от которого это зависит, со временем менялся. Когда я пытаюсь развернуть свой портлет, я получаю следующее исключение

 09:07:40,261 INFO  [org.hibernate.hql.internal.ast.ASTQueryTranslatorFactory] (MSC service thread 1-7) HHH000397: Using ASTQueryTranslatorFactory
09:07:40,608 INFO  [org.hibernate.validator.util.Version] (MSC service thread 1-7) Hibernate Validator 4.2.0.Final
09:07:43,046 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-7) MSC00001: Failed to start service jboss.persistenceunit."biz.modit.tit.gop.education.clientportlets.adaptivetest-0.0.1-SNAPSHOT.war#GOPPersistence": org.jboss.msc.service.StartException in service jboss.persistenceunit."biz.modit.tit.gop.education.clientportlets.adaptivetest-0.0.1-SNAPSHOT.war#GOPPersistence": Failed to start service
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1767) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_45]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_45]
    at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_45]
Caused by: java.lang.NullPointerException
    at org.hibernate.loader.BasicLoader.isBag(BasicLoader.java:98)
    at org.hibernate.loader.BasicLoader.postInstantiate(BasicLoader.java:77)
    at org.hibernate.loader.hql.QueryLoader.<init>(QueryLoader.java:120)
    at org.hibernate.hql.internal.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:204)
    at org.hibernate.hql.internal.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:136)
    at org.hibernate.engine.query.spi.HQLQueryPlan.<init>(HQLQueryPlan.java:101)
    at org.hibernate.engine.query.spi.HQLQueryPlan.<init>(HQLQueryPlan.java:80)
    at org.hibernate.engine.query.spi.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:119)
    at org.hibernate.internal.SessionFactoryImpl.checkNamedQueries(SessionFactoryImpl.java:974)
    at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:485)
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1737)
    at org.hibernate.ejb.EntityManagerFactoryImpl.<init>(EntityManagerFactoryImpl.java:84)
    at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:904)
    at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:889)
    at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:73)
    at org.jboss.as.jpa.service.PersistenceUnitServiceImpl.createContainerEntityManagerFactory(PersistenceUnitServiceImpl.java:162)
    at org.jboss.as.jpa.service.PersistenceUnitServiceImpl.start(PersistenceUnitServiceImpl.java:85)
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
    ... 3 more
  

Исходя из этого, я подозреваю, что возникла проблема с одним из запросов в проекте entity (содержащем все объекты jpa, именованные запросы и т. Д.). Итак, есть ли инструмент для проверки правильности запросов hql? Или у вас есть какие-либо другие подозрения относительно того, что может вызвать проблему?
Приведенное выше исключение является единственным исключением, которое я получаю в отношении проблемы.

Комментарии:

1. Какую версию гибернации вы используете?

2. Pom самого высокого уровня содержит <hibernate.version>4.3.1.Final</hibernate.version> и определяет зависимости гибернации с использованием этой переменной, хотя в pom объекта зависимости гибернации переопределяются без указанного номера версии, поэтому я предполагаю, что он использует последнюю доступную версию.

3. @Peter можете ли вы выполнить проверку кода рядом с номером строки 1767 в ServiceControllerImpl.java ? Или опубликуйте код рядом здесь.

4. ServiceControllerImpl.java с 1759 по 1784 год: pastebin.com/UtBnH6tp Что именно вы ищете?

5. можете ли вы отредактировать это и прокомментировать, где появляется строка 1767. мне лень выполнять вычисления: P 🙂 потому что мое свойство lazy установлено в false