你好,我有三个名为 UserTAb、UserData 和 UserAccess 的 pojo。我想使用单个 HQL 查询从这三个 pojo 中检索所有数据。我该如何实现这个???
请对此进行完整描述我是Hibernate的新手......提前谢谢......
我正面临这个问题。我使用以下方式解决了它
创建一个 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 部分
如果我错了请纠正我