Hibernate 请帮助我进行HQL连接查询
我刚开始冬眠 我有以下课程:Hibernate 请帮助我进行HQL连接查询,hibernate,join,hql,Hibernate,Join,Hql,我刚开始冬眠 我有以下课程: @Entity @Table( name = "Users" ) public class User implements Serializable{ private static final long serialVersionUID = -3550174731709532722L; private String userName; private String pasportID; private Company company; private Stri
@Entity
@Table( name = "Users" )
public class User implements Serializable{
private static final long serialVersionUID = -3550174731709532722L;
private String userName;
private String pasportID;
private Company company;
private String name;
private String email;
private String phone1;
private String phone2;
private String password; //may be null/empty , will be kept hashed
private boolean isAdmin;
private Date lastLogin;
User() {} //not public on purpose!
public User(String userName, String pasportID, Company company,
String name, String email, String phone1, String phone2,
String password, boolean isAdmin) {
this.userName = userName;
this.pasportID = pasportID;
this.company = company;
this.name = name;
this.email = email;
this.phone1 = phone1;
this.phone2 = phone2;
this.password = password;
this.isAdmin = isAdmin;
}
@Id
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
@OneToOne(cascade = CascadeType.ALL)
public Company getCompany() {
return company;
}
public void setCompany(Company company) {
this.company = company;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getPhone1() {
return phone1;
}
public void setPhone1(String phone1) {
this.phone1 = phone1;
}
public String getPhone2() {
return phone2;
}
public void setPhone2(String phone2) {
this.phone2 = phone2;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public boolean isAdmin() {
return isAdmin;
}
public void setAdmin(boolean isAdmin) {
this.isAdmin = isAdmin;
}
@Temporal(TemporalType.TIMESTAMP)
public Date getLastLogin() {
return lastLogin;
}
public void setLastLogin(Date lastLogin) {
this.lastLogin = lastLogin;
}
public String getPasportID() {
return pasportID;
}
public void setPasportID(String pasportID) {
this.pasportID = pasportID;
}
}
以及:
以及枚举:
公共枚举公司类型{A,B,C//TODO}
我想获得在“companyName”公司工作的所有用户的列表。
请确认该用户包含对公司的引用
我很确定需要连接查询,但我似乎无法确定语法
我非常感谢你在这方面的帮助
谢谢 首先,将从用户到公司的映射更改为从..,因为许多用户可以属于一个公司
<many-to-one name="company>
</many-to-one>
首先,非常感谢。如果可以的话,我还有一个后续问题。查询:“从用户u离开外部加入u.company,其中u.company.name=:companyName”).setString(“companyName”,companyName).list();返回一个对象数组,我在调试中看到其中的每个对象都是一个用户和公司的数组。如果我只想接收用户的查询结果,我应该如何修改查询?再次感谢!没关系,我回答自己,只需要在开头加上“选择u”。谢谢
<many-to-one name="company>
</many-to-one>