-->
These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 5 posts ] 
Author Message
 Post subject: error: outer or full join must be followed by path expressio
PostPosted: Tue Mar 30, 2004 12:56 am 
Newbie

Joined: Fri Feb 20, 2004 10:07 am
Posts: 17
Hi I am getting the following error while running a webapp using hibernate 2.1.2 tomcat 4.1.24 mysql 4.03.

The error mentioned below. The HBM file contents are given below. Please provide options to solve this issue.

The query statement is given below.

regards,
Amitabh.

================Query in Java file===============
Query query = hSession.createQuery("select groupmaster.groupName, groupmaster.groupAccessType, groupmaster.id, member.firstName, member.lastName from " + GroupMaster.class.getName() + " join "+GroupMembers.class.getName()+ " as groupmember on (groupmaster.id=groupmember.groupId) join "+Member.class.getName()+" member on (groupmaster.groupAdminId=member.id) where groupmember.memberId = "+member.getId());


====Hibernate mapping=====================
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping
PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">

<hibernate-mapping>

<class name="com.trackmyround.enhance.group.beans.GroupMaster" table="GroupMaster" proxy="com.trackmyround.enhance.group.beans.GroupMaster">


<id name="id" type="int" column="id">
<generator class="identity"/>
</id>

<property name="groupName" type="java.lang.String" column="groupName" not-null="true"/>
<property name="groupAccessType" type="java.lang.String" column="groupAccessType" not-null="true"/>
<property name="groupAdminId" type="int" column="groupAdminId" not-null="true"/>
<property name="registeredDate" type="java.util.Date" column="registrationDate" not-null="true"/>
<property name="password" type="java.lang.String" column="password" not-null="false"/>
<property name="averageRoundScore" type="float" column="averageRoundScore" not-null="false"/>

</class>

</hibernate-mapping>

=======Error message===================
net.sf.hibernate.QueryException: outer or full join must be followed by path expression [select groupmaster.groupName, groupmaster.groupAccessType, groupmaster.id, member.firstName, member.lastName from com.trackmyround.enhance.group.beans.GroupMaster join com.trackmyround.enhance.group.beans.GroupMembers as groupmember on (groupmaster.id=groupmember.groupId) join com.trackmyround.domain.Member member on (groupmaster.groupAdminId=member.id) where groupmember.memberId = 186]
at net.sf.hibernate.hql.FromParser.token(FromParser.java:166)
at net.sf.hibernate.hql.ClauseParser.token(ClauseParser.java:87)
at net.sf.hibernate.hql.PreprocessingParser.token(PreprocessingParser.java:123)
at net.sf.hibernate.hql.ParserHelper.parse(ParserHelper.java:29)
at net.sf.hibernate.hql.QueryTranslator.compile(QueryTranslator.java:149)
at net.sf.hibernate.hql.QueryTranslator.compile(QueryTranslator.java:138)
at net.sf.hibernate.impl.SessionFactoryImpl.getQuery(SessionFactoryImpl.java:293)
at net.sf.hibernate.impl.SessionImpl.getQueries(SessionImpl.java:1530)
at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1501)
at net.sf.hibernate.impl.QueryImpl.list(QueryImpl.java:39)
at com.trackmyround.enhance.group.actions.ShowGroupsAction.execute(ShowGroupsAction.java:76)
at com.browsermedia.hibernate2.Hibernate2RequestProcessor.processActionPerform(Hibernate2RequestProcessor.java:84)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:594)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619)
at java.lang.Thread.run(Thread.java:536)


Top
 Profile  
 
 Post subject:
PostPosted: Tue Mar 30, 2004 2:27 am 
Newbie

Joined: Mon Mar 22, 2004 5:23 am
Posts: 18
Location: Bangalore
Hi,
I can't say whether this would work as I have no means to simulate ur usecase. But it seems u not specified the alias name group "groupmaster" in our HQL.

The query generated thru ur HQL , at runtime is as

follows

select groupmaster.groupName, groupmaster.groupAccessType, groupmaster.id, member.firstName, member.lastName

from com.trackmyround.enhance.group.beans.GroupMaster

join com.trackmyround.enhance.group.beans.GroupMembers as groupmember

on (groupmaster.id=groupmember.groupId) join

com.trackmyround.domain.Member member

on (groupmaster.groupAdminId=member.id) where groupmember.memberId = 186


U should modify ur HQL in java file such that ,at runtime ,the 2nd line of the query reads as follows.

from com.trackmyround.enhance.group.beans.GroupMaster groupmaster .

Let me know if this helps.

Thanks,
santosh


Top
 Profile  
 
 Post subject: error still exists
PostPosted: Tue Mar 30, 2004 3:07 am 
Newbie

Joined: Fri Feb 20, 2004 10:07 am
Posts: 17
Hello Santosh-

Not mentioning " groupmaster" alias was a mistake in the query. The problem exists even after the corrections.

Can you or anybody provide other pointers.

regards,
Amitabh.



santosh wrote:
Hi,
I can't say whether this would work as I have no means to simulate ur usecase. But it seems u not specified the alias name group "groupmaster" in our HQL.

The query generated thru ur HQL , at runtime is as

follows

select groupmaster.groupName, groupmaster.groupAccessType, groupmaster.id, member.firstName, member.lastName

from com.trackmyround.enhance.group.beans.GroupMaster

join com.trackmyround.enhance.group.beans.GroupMembers as groupmember

on (groupmaster.id=groupmember.groupId) join

com.trackmyround.domain.Member member

on (groupmaster.groupAdminId=member.id) where groupmember.memberId = 186


U should modify ur HQL in java file such that ,at runtime ,the 2nd line of the query reads as follows.

from com.trackmyround.enhance.group.beans.GroupMaster groupmaster .

Let me know if this helps.

Thanks,
santosh


Top
 Profile  
 
 Post subject: error message
PostPosted: Tue Mar 30, 2004 3:11 am 
Newbie

Joined: Fri Feb 20, 2004 10:07 am
Posts: 17
Hello-

The current error message is given below.

Can somebody provide any pointers to solve the issue.

regards,
Amitabh.

net.sf.hibernate.QueryException: outer or full join must be followed by path expression [select groupmaster.groupName, groupmaster.groupAccessType, groupmaster.id, member.firstName, member.lastName from com.trackmyround.enhance.group.beans.GroupMaster groupmaster join com.trackmyround.enhance.group.beans.GroupMembers as groupmember on (groupmaster.id=groupmember.groupId) join com.trackmyround.domain.Member member on (groupmaster.groupAdminId=member.id) where groupmember.memberId = 186]
at net.sf.hibernate.hql.FromParser.token(FromParser.java:166)
at net.sf.hibernate.hql.ClauseParser.token(ClauseParser.java:87)
at net.sf.hibernate.hql.PreprocessingParser.token(PreprocessingParser.java:123)
at net.sf.hibernate.hql.ParserHelper.parse(ParserHelper.java:29)
at net.sf.hibernate.hql.QueryTranslator.compile(QueryTranslator.java:149)
at net.sf.hibernate.hql.QueryTranslator.compile(QueryTranslator.java:138)
at net.sf.hibernate.impl.SessionFactoryImpl.getQuery(SessionFactoryImpl.java:293)
at net.sf.hibernate.impl.SessionImpl.getQueries(SessionImpl.java:1530)
at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1501)
at net.sf.hibernate.impl.QueryImpl.list(QueryImpl.java:39)
at com.trackmyround.enhance.group.actions.ShowGroupsAction.execute(ShowGroupsAction.java:76)
at com.browsermedia.hibernate2.Hibernate2RequestProcessor.processActionPerform(Hibernate2RequestProcessor.java:84)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:594)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619)
at java.lang.Thread.run(Thread.java:536)


Top
 Profile  
 
 Post subject:
PostPosted: Tue Mar 30, 2004 3:31 am 
Hibernate Team
Hibernate Team

Joined: Mon Aug 25, 2003 9:11 pm
Posts: 4592
Location: Switzerland
This is not a valid HQL query, please read the documentation.

_________________
JAVA PERSISTENCE WITH HIBERNATE
http://jpwh.org
Get the book, training, and consulting for your Hibernate team.


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 5 posts ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.