如何通过id创建hibernate关联?

问题描述:

这是一个Client实例,其中idOrder实例为clientId。有没有办法执行左连接OrderClient而不添加任何字段Order? 结果SQL建议立即进行删除是这样的:如何通过id创建hibernate关联?

Select * from Client left join Order ON Order.clientId = Client.id 

注意Order.clientId可以为空。冬眠有没有技巧?

我建议您从客户端添加一对多关系到订单。

public class Client{ 

    @OneToMany 
    private List<Order> orders = new ArrayList<Order>(); 

    public List<Order> getOrders() { 
     return orders; 
    } 
    public void setOrder(List<Order> orders){ 
     this.orders = orders; 
    } 
} 

那么做到这一点:

EntityManager em = factory.createEntityManager(); 
Query query = em.createQuery("SELECT x FROM Client left join FETCH x.orders"); 
List<Client> clients = query.getResultList();