Jointure entre deux table
Bonjour,
J'ai deux Tables dans une base de données je veux lancer un requête qui permet de faire la jointure entre les deux tables mais à chaque fois il me dits erreur de syntaxe,
Voici ma requête :
Code:
select v.id from Variante as v inner join DetailVariante as dv on dv.variante.id = v.id where v.groupeModele.id = '"+criterDao.getModel()+"'";
cette requête n'est pas complete c'est juste un extrait je pens que l'erreur vient d'ici
Voilà l'exception levée :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| [ateliodoc] ERROR [http-8080-Processor24] ActionExceptionHandler.logException(147) | org.springframework.orm.hibernate3.HibernateQueryException: unexpected token: on near line 1, column 90 [select v.id from com.etai.atelio.doc.model.Variante as v inner join DetailVariante as dv on dv.variante.id = v.id where v.groupeModele.id = '39' and v.id in(select v2.id from com.etai.atelio.doc.model.Variante as v2 inner join DetailVariante as dv2 on dv2.variante.id = v2.id where v2.groupeModele.id = '39' and dv2.id.typDet = '133' and dv2.id.libDet = '1910')]; nested exception is org.hibernate.hql.ast.QuerySyntaxException: unexpected token: on near line 1, column 90 [select v.id from com.etai.atelio.doc.model.Variante as v inner join DetailVariante as dv on dv.variante.id = v.id where v.groupeModele.id = '39' and v.id in(select v2.id from com.etai.atelio.doc.model.Variante as v2 inner join DetailVariante as dv2 on dv2.variante.id = v2.id where v2.groupeModele.id = '39' and dv2.id.typDet = '133' and dv2.id.libDet = '1910')]
Caused by: org.hibernate.hql.ast.QuerySyntaxException: unexpected token: on near line 1, column 90 [select v.id from com.etai.atelio.doc.model.Variante as v inner join DetailVariante as dv on dv.variante.id = v.id where v.groupeModele.id = '39' and v.id in(select v2.id from com.etai.atelio.doc.model.Variante as v2 inner join DetailVariante as dv2 on dv2.variante.id = v2.id where v2.groupeModele.id = '39' and dv2.id.typDet = '133' and dv2.id.libDet = '1910')]
at org.hibernate.hql.ast.QuerySyntaxException.convert(QuerySyntaxException.java:31)
at org.hibernate.hql.ast.QuerySyntaxException.convert(QuerySyntaxException.java:24)
at org.hibernate.hql.ast.ErrorCounter.throwQueryException(ErrorCounter.java:59)
at org.hibernate.hql.ast.QueryTranslatorImpl.parse(QueryTranslatorImpl.java:258)
at org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:157)
at org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:111)
at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:77)
at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:56)
at org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:72)
at org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:133)
at org.hibernate.impl.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:112)
at org.hibernate.impl.SessionImpl.createQuery(SessionImpl.java:1623)
at sun.reflect.GeneratedMethodAccessor160.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.springframework.orm.hibernate3.HibernateTemplate$CloseSuppressingInvocationHandler.invoke(HibernateTemplate.java:1192)
at $Proxy41.createQuery(Unknown Source)
at com.etai.atelio.doc.ident.dao.impl.UpdaterCritersDaoImpl$3.doInHibernate(UpdaterCritersDaoImpl.java:116)
at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:362)
at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:328)
at com.etai.atelio.doc.ident.dao.impl.UpdaterCritersDaoImpl.getVarianteWithSecondeCriter(UpdaterCritersDaoImpl.java:114)
at com.etai.atelio.doc.ident.dao.impl.UpdaterCritersDaoImpl.getVariantesWithCriter(UpdaterCritersDaoImpl.java:25)
at com.etai.atelio.doc.ident.service.impl.InitSearchAndFilterFieldsImpl.searchByCriter(InitSearchAndFilterFieldsImpl.java:147)
at com.etai.atelio.doc.webapp.ident.action.PostSearchIdentAction.searchBycriter(PostSearchIdentAction.java:133)
at com.etai.atelio.doc.webapp.ident.action.PostSearchIdentAction.execute(PostSearchIdentAction.java:80)
at org.springframework.web.struts.DelegatingActionProxy.execute(DelegatingActionProxy.java:106)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118)
at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain |