2014-02-10 47 views
0

我想在JQL中连接另一个表。HQL - 左外连接 - 预计连接的路径

我的第一类:

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

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

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

谢谢你的回答。我会明天尝试:) – TronchDeYack

0

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

+0

好的。所以如果Zeus的回答不起作用,我会在Order和UserInfo之间添加一个关联。谢谢。 – TronchDeYack