java - JPQL query - inner join no data type for node -


i have following jpql query used select programmes featuring performer specified id.

the channelprogramme entity has programme , episode

there entity called progepperfassociation, featuring programmeid, performerid , episodeid. (a performer can feature in many programmes , episodes , programme/episode can feature many performers)

@query("select cp channelprogramme cp"     + " cp.programme.programmeid in (select programme progepperfassociation prog"     + " inner join prog.performer perf"     + " prog.performerid in :performerid)"     + " , (cp.starttime between :fromdate , :todate)"     + " order cp.starttime, cp.starttime") 

however getting following exception

caused by: java.lang.illegalargumentexception: validation failed query method public abstract java.util.list com.tvfreakz.repository.channelprogrammerepository.findscheduledperformerprogrammes(java.lang.long,java.util.date,java.util.date)!     @ org.springframework.data.jpa.repository.query.simplejpaquery.validatequery(simplejpaquery.java:84)     @ org.springframework.data.jpa.repository.query.simplejpaquery.<init>(simplejpaquery.java:54)     @ org.springframework.data.jpa.repository.query.jpaqueryfactory.frommethodwithquerystring(jpaqueryfactory.java:65)     @ org.springframework.data.jpa.repository.query.jpaqueryfactory.fromqueryannotation(jpaqueryfactory.java:48)     @ org.springframework.data.jpa.repository.query.jpaquerylookupstrategy$declaredquerylookupstrategy.resolvequery(jpaquerylookupstrategy.java:115)     @ org.springframework.data.jpa.repository.query.jpaquerylookupstrategy$createifnotfoundquerylookupstrategy.resolvequery(jpaquerylookupstrategy.java:166)     @ org.springframework.data.jpa.repository.query.jpaquerylookupstrategy$abstractquerylookupstrategy.resolvequery(jpaquerylookupstrategy.java:69)     @ org.springframework.data.repository.core.support.repositoryfactorysupport$queryexecutormethodinterceptor.<init>(repositoryfactorysupport.java:320)     @ org.springframework.data.repository.core.support.repositoryfactorysupport.getrepository(repositoryfactorysupport.java:169)     @ org.springframework.data.repository.core.support.repositoryfactorybeansupport.initandreturn(repositoryfactorybeansupport.java:224)     @ org.springframework.data.repository.core.support.repositoryfactorybeansupport.afterpropertiesset(repositoryfactorybeansupport.java:210)     @ org.springframework.data.jpa.repository.support.jparepositoryfactorybean.afterpropertiesset(jparepositoryfactorybean.java:92)     @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.invokeinitmethods(abstractautowirecapablebeanfactory.java:1612)     @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.initializebean(abstractautowirecapablebeanfactory.java:1549)     ... 40 more caused by: java.lang.illegalstateexception: no data type node: org.hibernate.hql.internal.ast.tree.identnode   \-[ident] identnode: 'programme' {originaltext=programme}      @ org.hibernate.hql.internal.ast.tree.selectclause.initializeexplicitselectclause(selectclause.java:174)     @ org.hibernate.hql.internal.ast.hqlsqlwalker.useselectclause(hqlsqlwalker.java:924)     @ org.hibernate.hql.internal.ast.hqlsqlwalker.processquery(hqlsqlwalker.java:692)     @ org.hibernate.hql.internal.antlr.hqlsqlbasewalker.query(hqlsqlbasewalker.java:665)     @ org.hibernate.hql.internal.antlr.hqlsqlbasewalker.collectionfunctionorsubselect(hqlsqlbasewalker.java:4905)     @ org.hibernate.hql.internal.antlr.hqlsqlbasewalker.inrhs(hqlsqlbasewalker.java:4806)     @ org.hibernate.hql.internal.antlr.hqlsqlbasewalker.comparisonexpr(hqlsqlbasewalker.java:4473)     @ org.hibernate.hql.internal.antlr.hqlsqlbasewalker.logicalexpr(hqlsqlbasewalker.java:2104)     @ org.hibernate.hql.internal.antlr.hqlsqlbasewalker.logicalexpr(hqlsqlbasewalker.java:2029)     @ org.hibernate.hql.internal.antlr.hqlsqlbasewalker.whereclause(hqlsqlbasewalker.java:796)     @ org.hibernate.hql.internal.antlr.hqlsqlbasewalker.query(hqlsqlbasewalker.java:597)     @ org.hibernate.hql.internal.antlr.hqlsqlbasewalker.selectstatement(hqlsqlbasewalker.java:301)     @ org.hibernate.hql.internal.antlr.hqlsqlbasewalker.statement(hqlsqlbasewalker.java:249)     @ org.hibernate.hql.internal.ast.querytranslatorimpl.analyze(querytranslatorimpl.java:278)     @ org.hibernate.hql.internal.ast.querytranslatorimpl.docompile(querytranslatorimpl.java:206)     @ org.hibernate.hql.internal.ast.querytranslatorimpl.compile(querytranslatorimpl.java:158)     @ org.hibernate.engine.query.spi.hqlqueryplan.<init>(hqlqueryplan.java:126)     @ org.hibernate.engine.query.spi.hqlqueryplan.<init>(hqlqueryplan.java:88)     @ org.hibernate.engine.query.spi.queryplancache.gethqlqueryplan(queryplancache.java:167)     @ org.hibernate.internal.abstractsessionimpl.gethqlqueryplan(abstractsessionimpl.java:301)     @ org.hibernate.internal.abstractsessionimpl.createquery(abstractsessionimpl.java:236)     @ org.hibernate.internal.sessionimpl.createquery(sessionimpl.java:1800)     @ org.hibernate.jpa.spi.abstractentitymanagerimpl.createquery(abstractentitymanagerimpl.java:328)     @ sun.reflect.nativemethodaccessorimpl.invoke0(native method)     @ sun.reflect.nativemethodaccessorimpl.invoke(unknown source)     @ sun.reflect.delegatingmethodaccessorimpl.invoke(unknown source)     @ java.lang.reflect.method.invoke(unknown source)     @ org.springframework.orm.jpa.extendedentitymanagercreator$extendedentitymanagerinvocationhandler.invoke(extendedentitymanagercreator.java:342)     @ com.sun.proxy.$proxy35.createquery(unknown source)     @ org.springframework.data.jpa.repository.query.simplejpaquery.validatequery(simplejpaquery.java:78)     ... 53 more 

i'm not sure what's wrong jpql

thanks commenters, pointed me in right direction. didn't need join @ in end

@query("select cp channelprogramme cp"     + " cp.programme.programmeid in (select programmeid progepperfassociation"     + " performerid = :performerid)"     + " , (cp.starttime between :fromdate , :todate)"     + " order cp.starttime, cp.starttime") 

Comments

Popular posts from this blog

python - TypeError: start must be a integer -

c# - DevExpress RepositoryItemComboBox BackColor property ignored -

django - Creating multiple model instances in DRF3 -