Hibernate HQL-左外部联接-联接所需的路径

Hibernate HQL-左外部联接-联接所需的路径,hibernate,Hibernate,我想在JQL中加入一个表和另一个表 我的第一节课: public class Order implements Serializable { @Column(name = "CDT_ID", insertable = true, nullable = true, updatable = true) private String idCDT; ... } } 我的第二节课: public class UserInfo implements Serializabl

我想在JQL中加入一个表和另一个表

我的第一节课:

public class Order implements Serializable {

    @Column(name = "CDT_ID", insertable = true, nullable = true, updatable = true)
    private String idCDT;
    ...
    }
}
我的第二节课:

public class UserInfo implements Serializable {

    private String idCDT;
        private String name;
}
我想把所有的订单按员工的名字分类

我在HQL中尝试过此查询:

SELECT  order FROM  Order order 
LEFT OUTER JOIN UserInfo employee WITH employee.idCDT=order.idCDT   
WHERE order.year = 2014 
ORDER BY employee.name ASC
但我得到了以下错误:路径预期加入

我的问题是:如果我的对象顺序没有UserInfo属性,是否可以用join连接HQL中的两个表?如果可能的话,我如何实现它? 我必须使用“左外联接”,因为雇员可以为空

你能帮帮我吗


谢谢。

答案是否定的。您需要Order和UserInfo之间的关联才能进行左连接。

是的,左连接需要路径,如果您不需要左连接,则可以在这种情况下使用隐式连接,如下所示

SELECT  order FROM  Order order, 
UserInfo employee where employee.idCDT=order.idCDT   
and order.year = 2014 
ORDER BY employee.name ASC

谢谢你的回答。我明天试试:)好的。因此,如果宙斯的答案不起作用,我将在Order和UserInfo之间添加一个关联。非常感谢。