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

Reply via email to