2015-12-06 3 views
0

Я пытаюсь создать HQL запрос, здесь:Hibernate HQL присоединиться к объединенной таблице

 query = "SELECT test From Result result " + 
        "JOIN result.test test JOIN result.user user " + 
        "WHERE test.id = :testId AND user.id = :userId " + 
        "AND result.permission.id = :permissionId"), 

и теперь я хочу, чтобы добавить дополнительные для вопросов (многие к одному с испытанием) и ответы (многие к одному с вопросами). Если я попробую что-то вроде этого:

 query = "SELECT test From Result result " + 
        "JOIN result.test test JOIN result.user user JOIN test.questions as question" + 
        "WHERE test.id = :testId AND user.id = :userId " + 
        "AND result.permission.id = :permissionId") 

Я получаю exeption.

Caused by: org.hibernate.HibernateException: Errors in named queries: getCurrentTestById 
at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:545) ~[hibernate-core-4.3.11.Final.jar:4.3.11.Final] 
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1859) ~[hibernate-core-4.3.11.Final.jar:4.3.11.Final] 
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:857) ~[hibernate-entitymanager-4.3.11.Final.jar:4.3.11.Final] 
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:850) ~[hibernate-entitymanager-4.3.11.Final.jar:4.3.11.Final] 
at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.withTccl(ClassLoaderServiceImpl.java:425) ~[hibernate-core-4.3.11.Final.jar:4.3.11.Final] 
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:849) ~[hibernate-entitymanager-4.3.11.Final.jar:4.3.11.Final] 
at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:60) ~[spring-orm-4.2.3.RELEASE.jar:4.2.3.RELEASE] 
at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:343) ~[spring-orm-4.2.3.RELEASE.jar:4.2.3.RELEASE] 
at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:318) ~[spring-orm-4.2.3.RELEASE.jar:4.2.3.RELEASE] 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1637) ~[spring-beans-4.2.3.RELEASE.jar:4.2.3.RELEASE] 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1574) ~[spring-beans-4.2.3.RELEASE.jar:4.2.3.RELEASE] 
... 190 common frames omitted 
+0

Какое исключение вы получаете? – DB5

+0

добавлено в вопрос – quento

ответ

1

Существует ошибка здесь (нужно пространство)

"JOIN result.test test JOIN result.user user JOIN test.questions as question" 

Интересно, почему вам нужно присоединиться на вопросы ... вы не используете его в где.

+0

Я хочу использовать вопрос, например question.deleted = false – quento

Смежные вопросы