HQL如何加入三个表

时间:2013-12-13 15:41:06

标签: java mysql sql hql

我有这个课程:

 @Entity
 public class Category {
    private Long Id;
    private String name;
    private String description;
    private List<Product> products;
}

@Entity
public class Inventory {

    private Long id;
    private Product product;
    private int quantity;
}

@Entity
public class Product {
    private Long productId;
    private String name;
}

我想在类别中获得给定ID的库存。我正在尝试使用这个

return session.createQuery("select i from Inventory i, Category c join c.Products p outer join i.product = p WHERE c.Id=?")
                .setParameter(0, categoryId).list();

我真的很困惑,请帮忙。感谢。

1 个答案:

答案 0 :(得分:3)

好吧没关系,我发现了怎么做

Select i from Inventory i,Category c INNER JOIN i.product ip INNER JOIN c.products cp where ip = cp and c.id=?

所以我真的想知道如何将类别与连接相关联,我在HQL文档中的多态查询下找到了答案