当前位置: 首页 > 知识库问答 >
问题:

Hibernate条件-连接多个表并形成一个用户对象

邵阳辉
2023-03-14

我试图连接多个表,并将表列映射到用户对象列表。

下面是SQL查询,我正在尝试使用Hibernate条件转换为ORM:

SELECT table1.domainname, table2.policyname,table3.filterpath,table4.userdirectoryname
FROM table1, table2,table3, table4 
WHERE table3.domainoid = table1.domainoid
AND table3.policyoid = table2.policyoid
AND table3.userdirectoryoid = table4.userdirectoryoid  
AND table1.domainname = 'admin'

从上面的查询中,我们将获得一个用户对象列表,并尝试将结果映射到用户对象。下面是要形成的用户对象的POJO类。

public class DomainDetails {
    String domainName, policyName, filterPath, userDirName;

    public DomainDetails(String domainName, String policyName, String filterPath, String userDirName) {
        super();
        this.domainName = domainName;
        this.policyName = policyName;
        this.filterPath = filterPath;
        this.userDirName = userDirName;
    }

    // getters and setters...
}

如何连接多个表和相应列到用户对象的映射?

谢谢你的帮助。。谢谢

共有1个答案

郑帅
2023-03-14

可以使用映射注释...映射实体关联/关系

 类似资料:
  • 我正在尝试使用条件连接多个表,但遇到了一些问题,请帮助我:我有一个sql查询,如: 这三个表:截止时间(has country)、国家、交易所(has country)是3个实体类。 我如何使用hibernate标准像这样加入,我下面的代码仍然不完整:

  • 我的数据模型中有以下实体关系。 ERD Hibernate实体: 要求:我想用实体B的连接获取查询实体C,同时也急切地获取实体D。查询完成后,我希望如果我执行,它不应导致hibernate中的N 1查询问题。 我正在尝试以下JPQL查询: 这导致结果重复,因为与实体D交叉连接。我得到的不是一个结果,而是n个结果,其中n是实体D列表的大小。 我该如何避免这种情况?有没有办法在JPQL中不交叉连接地获

  • 问题内容: 我正在尝试使用hibernate条件生成器连接4个表。 下面分别是这些表。 在这4个表中,我想为MySQL执行以下sql脚本: 那么,如何使用Hibernate CriteriaBuilder实现这一目标?请帮助… 预先感谢....... 问题答案: CriteriaBuilder cb = entityManager.getCriteriaBuilder(); CriteriaQue

  • 我的本机查询将类似于:“select*from a inner join b inner join c on a.ida=b.idb and b.lastname=c.lastname and a.name=c.name” 在hibernate中,如果要连接两个表,可以使用@joincolum,如果要通过表B连接表A和表C,可以使用@joincable。 因此在HQL中查询将看起来像:“from

  • 我正在尝试编写一个简单的应用程序,其中包含一个跟踪每个用户支付的款项的表和一个包含每个用户支付的总金额(所有付款的总和)的第二个表。目前,两个表都有相同的字段(firstName、lastName、金额),我已经将它们从同一个Java类映射到多个表,我无法将该类映射到多个表。对此有什么简单的解决方案吗?

  • 问题内容: 可以使用Hibernate标准吗? 问题答案: 我遇到了完全相同的问题,并能够像这样解决它: 注:,和在上面的代码指在属性名,和类,相应地(类具有属性等)。 对于此解决方案,您甚至不需要在中设置和参数。