-->
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.  [ 3 posts ] 
Author Message
 Post subject: HibernateQueryException: outer or full join must be followed
PostPosted: Thu Apr 28, 2005 3:38 pm 
Beginner
Beginner

Joined: Mon Mar 08, 2004 5:22 pm
Posts: 35
Can some one help with this to figure out whether it is HQL issue or my mapping issue please.
Thanks
Raj.
Hibernate Version :2
Spring Version:1.1.5

EXCEPTION:
org.springframework.orm.hibernate.HibernateQueryException: outer or full join must be followed by path expression [

FROM com.mycompany.calendarmodel.data.CalEvent calEvent left join CalLneDtls calLneDtls ON calEvent.event_id = calEvent.calLneDtls.event_id
WHERE (calEvent.start_date <= :start AND calEvent.end_date >= :start OR calEvent.start_date BETWEEN :start AND :end)
AND calLneDtls.sale_type IS NOT NULL
AND calLneDtls.sale_type IN (:sTypes0_, :sTypes1_, :sTypes2_)
AND calLneDtls.consignor_id IN (:cIds0_, :cIds1_, :cIds2_)
AND calEvent.auction_id IN (:aIds0_, :aIds1_, :aIds2_)


]; nested exception is net.sf.hibernate.QueryException: outer or full join must be followed by path expression [

FROM com.mycompany.calendarmodel.data.CalEvent calEvent left join CalLneDtls calLneDtls ON calEvent.event_id = calEvent.calLneDtls.event_id
WHERE (calEvent.start_date <= :start AND calEvent.end_date >= :start OR calEvent.start_date BETWEEN :start AND :end)
AND calLneDtls.sale_type IS NOT NULL
AND calLneDtls.sale_type IN (:sTypes0_, :sTypes1_, :sTypes2_)
AND calLneDtls.consignor_id IN (:cIds0_, :cIds1_, :cIds2_)
AND calEvent.auction_id IN (:aIds0_, :aIds1_, :aIds2_)


]
net.sf.hibernate.QueryException: outer or full join must be followed by path expression [

FROM com.mycompany.calendarmodel.data.CalEvent calEvent left join CalLneDtls calLneDtls ON calEvent.event_id = calEvent.calLneDtls.event_id
WHERE (calEvent.start_date <= :start AND calEvent.end_date >= :start OR calEvent.start_date BETWEEN :start AND :end)
AND calLneDtls.sale_type IS NOT NULL
AND calLneDtls.sale_type IN (:sTypes0_, :sTypes1_, :sTypes2_)
AND calLneDtls.consignor_id IN (:cIds0_, :cIds1_, :cIds2_)
AND calEvent.auction_id IN (:aIds0_, :aIds1_, :aIds2_)

]
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.mycompany.calendarmodel.dao.CalendarDAOImpl$1.doInHibernate(CalendarDAOImpl.java:90)
at org.springframework.orm.hibernate.HibernateTemplate.execute(HibernateTemplate.java:312)
at org.springframework.orm.hibernate.HibernateTemplate.execute(HibernateTemplate.java:289)
at com.mycompany.calendarmodel.dao.CalendarDAOImpl.executeCallBack(CalendarDAOImpl.java:67)
at com.mycompany.calendarmodel.dao.CalendarDAOImpl.getMastercalendar(CalendarDAOImpl.java:28)
at java.lang.reflect.Method.invoke(Native Method)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:284)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:163)
at $Proxy0.getMastercalendar(Unknown Source)
at com.mycompany.calendarmodel.access.CalendarManagerImpl.getMastercalendar(CalendarManagerImpl.java:34)
at com.mycompany.calendarmodel.test.CalendarTest.testCalendarMaster(CalendarTest.java:64)
at java.lang.reflect.Method.invoke(Native Method)
at junit.framework.TestCase.runTest(TestCase.java:154)
at junit.framework.TestCase.runBare(TestCase.java:127)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at junit.framework.TestSuite.runTest(TestSuite.java:208)
at junit.framework.TestSuite.run(TestSuite.java:203)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:392)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:276)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:167)

CalendarDAO.java
****************
public List getEvents()
{
Map params = new HashMap();
params.put(Constants.START_DATE, Util.format(start));
params.put(Constants.END_DATE, Util.format(end));
params.put(Constants.SALE_TYPES, saleTypes);
params.put(Constants.CONSIGNOR_IDS, consignorIds);
params.put(Constants.AUCTION_IDS, auctionIds);
executeCallBack(params, "calendarMasterQry");
}
private List executeCallBack(final Map params, final String qry) throws CalendarException
{
List returnedList = (List) getHibernateTemplate().execute(new HibernateCallback()
{
public Object doInHibernate(Session session) throws HibernateException
{
Query query = session.getNamedQuery(qry);
if (params != null && params.size() > 0)
{
Set keys = (Set) params.keySet();
Iterator keysIterator = (Iterator) keys.iterator();
while (keysIterator.hasNext())
{
String key = (String) keysIterator.next();
Object object = params.get(key);
if (object instanceof List)
{
query.setParameterList(key, (List) params.get(key));
}
else
{
query.setParameter(key, params.get(key));
}
}
}
return query.list();
}
});
return returnedList;
}




CalEvent.hbm.xml
****************
<hibernate-mapping>
<class name="com.mycompany.calendarmodel.data.CalEvent" table="CalEvent">
<id name="event_ID" type="string">
<column name="event_ID" sql-type="Decimal(9, 0)" not-null="true" />
<generator class="uuid.hex" />
</id>
<set name="calLneDtls" lazy="true">
<key column="event_ID" />
<one-to-many class="com.mycompany.calendarmodel.data.CalLneDtls" />
</set>
</class>
<query name="calendarMasterQry">
<![CDATA[
FROM CalEvent event left join CalLneDtls calLneDtls ON event.event_id = event.lane.event_id
WHERE (event.start_date <= :start AND event.end_date >= :start OR event.start_date BETWEEN :start AND :end)
AND lane.sale_type IS NOT NULL
AND lane.sale_type IN (:sTypes)
AND lane.consignor_id IN (:cIds)
AND event.auction_id IN (:aIds)

]]>
</query>
</hibernate-mapping>

CalLneDtls.hbm.xml
******************
<hibernate-mapping>
<class name="com.mycompany.calendarmodel.data.CalLneDtls" table="CalLneDtls">
<id name="event_ID" type="string">
<column name="event_ID" sql-type="Decimal(9, 0)" not-null="true" />
<generator class="uuid.hex" />
</id>
<many-to-one name="calEvent" class="com.mycompany.calendarmodel.data.CalEvent" outer-join="true" cascade="none"/>
</class>
</hibernate-mapping>



CalEvent.java
*************
public class CalEvent
{
private String event_ID;
private Set calLneDtls;
-------
-------
public String getevent_ID()
{
return event_ID;
}
public void setevent_ID(String event_ID)
{
this.event_ID = event_ID;
}
public Set getcalLneDtls()
{
return calLneDtls;
}
public void setcalLneDtls(Set set)
{
calLneDtls = set;
}
}

CalLneDtls.java
***************

public class CalLneDtls
{
private String event_ID;
private CalEvent calEvent;
------
------
public String getevent_ID()
{
return event_ID;
}
public void setevent_ID(String event_id)
{
this.event_ID = event_id;
}
public CalEvent getcalEvent()
{
return calEvent;
}
public void setcalEvent(CalEvent event)
{
calEvent = event;
}
}


Top
 Profile  
 
 Post subject:
PostPosted: Thu Apr 28, 2005 4:26 pm 
Beginner
Beginner

Joined: Mon Mar 08, 2004 5:22 pm
Posts: 35
let it not go bottom of the list


Top
 Profile  
 
 Post subject: can some reply pls : outer or full join must be followed by
PostPosted: Fri Apr 29, 2005 9:57 am 
Beginner
Beginner

Joined: Mon Mar 08, 2004 5:22 pm
Posts: 35
can some one look at this and answer please ?


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 3 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.