I forgot to include the exception I was getting net.sf.hibernate.QueryException: could not resolve property: order.state [null] at net.sf.hibernate.persister.AbstractPropertyMapping.toColumns(AbstractPro pertyMapping.java:42) at net.sf.hibernate.expression.AbstractCriterion.getColumns(AbstractCriteri on.java:35) at net.sf.hibernate.expression.SimpleExpression.toSqlString(SimpleExpressio n.java:40) at net.sf.hibernate.loader.CriteriaLoader.(CriteriaLoader.java:53) at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:3426) at net.sf.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:149)
> -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On > Behalf Of Cameron Braid > Sent: Wednesday, 1 October 2003 9:28 PM > To: [EMAIL PROTECTED] > Subject: [Hibernate] I need help with the Criteria API when > using joins > > > I am using Hibernate 2 beta 3. > > I can use the criteria api successfully to query properties > of the 'root' persistent class (OrderItem.class) > > Criteria = session.createCriteria(OrderItem.class); > > though when I want to query acros a many to one relationship, > I can't work out how to do it. > > I have an existing text query that I want to convert to allow > me to make options optional : > > String txt = "from orderItem in class " + > OrderItem.class.getName() ; String joiner = " where "; > if (filter.getState() != null) { > txt = txt + joiner + " orderItem.order.state = :orderState"; > joiner = " and "; > } > > ... more filter options here ... > > Query q = hibernateSession.createQuery(txt); > > if (filter.getState() != null) { > q.setParameter("orderState", filter.getState()); > } > > .. more param bindings here .. > > I have tried this : > > Criteria criteria = hibernateSession.createCriteria(OrderItem.class); > if (filter.getState() != null) { > criteria.add(Expression.eq("order.state", filter.getState())); } > > Which results in an error saying that 'order' ... > > I have tried using aliases - though I don't know what I am > doing here ;) > criteria.createAlias("order", "order"); > I have tried using "this.order.state" instead of "order.state" > > I have run out of ideas. > > Can anyone help ? > > Thanks. > > Cameron > > > > > > > ------------------------------------------------------- > This sf.net email is sponsored by:ThinkGeek > Welcome to geek heaven. > http://thinkgeek.com/sf > _______________________________________________ > hibernate-devel mailing list [EMAIL PROTECTED] > https://lists.sourceforge.net/lists/listinfo/hibernate-devel > > ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ hibernate-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/hibernate-devel