Hibernate查询:连接和查询

时间:2014-05-05 19:13:50

标签: java mysql sql hibernate hql

我有两张桌子。一个包含用户和公司关系下面的节目

User_company

UserId    CompanyId
  1           2
  2           1
  3           1
  4           2

另一个表包含用户信息

User

Id    Name    City
1     Peter    LA
2     Harry    SF
3     John     NY
4     Joe      CI

如何制作hibernate HQL语句,它将为我提供公司1中的所有用户信息?

1 个答案:

答案 0 :(得分:1)

您需要创建两个实体UserCompany,这两个实体应使用您的连接表user_company在这两个实体之间建立@ OneToMany / @ ManyToOne关系。

之后,您可以使用以下HQL来获取用户所需的结果。

Query query = em.createQuery("from User user WHERE user.company.id =:companyId");