如何从休眠中的多个pojos中检索数据?

时间:2012-10-03 04:32:14

标签: spring hibernate

你好我有三个名为UserTAb,UserData和UserAccess的pojos。 我想使用单个HQL查询来检索这三个pojos中的所有数据。 我怎样才能实现这个???

请详细说明这个我是Hibernate的新手......还是提前...

1 个答案:

答案 0 :(得分: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节

    如果我错了,请纠正我