你好我有三个名为UserTAb,UserData和UserAccess的pojos。 我想使用单个HQL查询来检索这三个pojos中的所有数据。 我怎样才能实现这个???
请详细说明这个我是Hibernate的新手......还是提前...
答案 0 :(得分: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;
}
}
编写具有正确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节
如果我错了,请纠正我