-1

你好,我有三个名为 UserTAb、UserData 和 UserAccess 的 pojo。我想使用单个 HQL 查询从这三个 pojo 中检索所有数据。我该如何实现这个???

请对此进行完整描述我是Hibernate的新手......提前谢谢......

4

1 回答 1

1

我正面临这个问题。我使用以下方式解决了它

  1. 创建一个 DTO 类

    package com.yourpackage;
    
    public class UserDTO{
    
     private UserTAb userTab;
    
     private UserData userData;
    
     private UserAccess userAccess;
    
    // write setter getter here
    
    public UserDTO(UserTAb userTab,UserData userData,UserAccess userAccess){
    
      this.userTab=userTab;
    
      this.userData=userData;
    
      this.userAccess=userAccess;
    
     }
    
    }
    
  2. 编写具有正确 JOIN 的 HQL。例如

    String hql ="select new com.yourpackage.UserDTO(ut,ud,ua) 
            from UserTab as ut,UserData as ud,UserAccess as ua";
    

    UserTab,UserData,UserData 是您的实体或域类。

    您可以参考 http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/queryhql.html 14.6 部分

    如果我错了请纠正我

于 2012-10-03T05:03:22.550 回答