首页 > 解决方案 > 如何使用 HQL 查询连接 2 个单独的表

问题描述

需要 Hibernate 查询来连接 2 个不同的表。前任:

private class User
{
    private long userid;
    private String name;

    //stters and getters
}

而在另一张桌子上

private class UserProfile
{
    private long id;
    private String company;

    //setters and getters
}

这里 userid 和 id 是相同的约束。

请在这方面提供帮助 谢谢

标签: javahibernatehql

解决方案


HQL 使用实体名称和实体属性名称。永远不要使用表名或列名。

我建议您阅读有关 HQL 的文档,尤其是有关联接和关联的文档。 http://docs.jboss.org/hibernate/core/4.3/manual/en-US/html/ch16.html#queryhql-joins

您需要的查询是:

select user.id, user.name, profile.id, profile.company from User as user
inner join user.UserProfile as profile

推荐阅读