Hibernate HQL选择错误

Hibernate HQL选择错误,hibernate,hql,Hibernate,Hql,代码是 String myQuery = "select c.orderId from com.model.Supplier su join com.model.Supplier su2 join su2.product P where su.product.OrderId = :Order and c.order != :Order "; List<Order> myOrder= getCurrentSession().createQuery(myQuery.toString(

代码是

 String myQuery = "select c.orderId from com.model.Supplier su join com.model.Supplier su2  join su2.product P where su.product.OrderId = :Order and c.order != :Order ";
List<Order> myOrder= getCurrentSession().createQuery(myQuery.toString()).setParameter("Order", aOrder).list();

假设您的映射与外键一样正确,我认为您需要指定像“left join”这样的连接

请参见中的有效联接

java.lang.IllegalStateException: DOT node with no left-hand-side!
    at org.hibernate.hql.ast.tree.DotNode.getLhs(DotNode.java:631)
    at org.hibernate.hql.ast.tree.DotNode.getDataType(DotNode.java:606)
    at org.hibernate.hql.ast.HqlSqlWalker.createFromJoinElement(HqlSqlWalker.java:383)
    at org.hibernate.hql.antlr.HqlSqlBaseWalker.joinElement(HqlSqlBaseWalker.java:3671)
    at org.hibernate.hql.antlr.HqlSqlBaseWalker.fromElement(HqlSqlBaseWalker.java:3452)