HQL - 左外连接 - 连接所需的路径

时间:2014-02-10 17:14:24

标签: hibernate

我想在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

但是我收到了以下错误:期望加入的路径!

我的问题是:如果我的对象Order没有属性UserInfo,是否可以使用JOIN连接HQL中的两个表?如果有可能,我该如何实施呢? 我不得不使用“左外连接”,因为员工可以为空。

请问你能帮帮我吗?

谢谢。

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:0)

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