HQL 中的 Group by 子句
Group by clause in HQL
如何在 hibernate 中用 HQL 编写给定的 sql 并获取包含两列的对象数组
select specialization, count(specialization)
from ocs_tbl_doctor group by specialization;
映射 Bean class 是
DoctorBean.java
@Entity
@Table(name = "OCS_TBL_DOCTOR")
public class DoctorBean {
@Id
@Column(name = "DOCTORID")
private String doctorID;
@Column(name = "DOCTORNAME")
private String doctorName;
@Column(name = "DATEOFBIRTH")
private Date dateOfBirth;
@Column(name = "DATEOFJOINING")
private Date dateOfJoining;
@Column(name = "GENDER")
private String gender;
@Column(name = "QUALIFICATION")
private String qualification;
@Column(name = "SPECIALIZATION")
private String specialization;
@Column(name = "YEARSOFEXPERIENCE")
private int yearsOfExperience;
@Column(name = "STREET")
private String street;
@Column(name = "LOCATION")
private String location;
@Column(name = "CITY")
private String city;
@Column(name = "STATE")
private String state;
@Column(name = "PINCODE")
private String pincode;
@Column(name = "CONTACTNUMBER")
private String contactNumber;
@Column(name = "EMAILID")
private String emailID;
//getters and setters
}
我在投影第二列时遇到问题,即 (count(specialization))
select doc.specialization, count(doc)
from DoctorBean doc
group by doc.specialization
试试这个:
select d.specialization, count(d.specialization)
from DoctorBean d group by d.specialization;
如何在 hibernate 中用 HQL 编写给定的 sql 并获取包含两列的对象数组
select specialization, count(specialization)
from ocs_tbl_doctor group by specialization;
映射 Bean class 是
DoctorBean.java
@Entity
@Table(name = "OCS_TBL_DOCTOR")
public class DoctorBean {
@Id
@Column(name = "DOCTORID")
private String doctorID;
@Column(name = "DOCTORNAME")
private String doctorName;
@Column(name = "DATEOFBIRTH")
private Date dateOfBirth;
@Column(name = "DATEOFJOINING")
private Date dateOfJoining;
@Column(name = "GENDER")
private String gender;
@Column(name = "QUALIFICATION")
private String qualification;
@Column(name = "SPECIALIZATION")
private String specialization;
@Column(name = "YEARSOFEXPERIENCE")
private int yearsOfExperience;
@Column(name = "STREET")
private String street;
@Column(name = "LOCATION")
private String location;
@Column(name = "CITY")
private String city;
@Column(name = "STATE")
private String state;
@Column(name = "PINCODE")
private String pincode;
@Column(name = "CONTACTNUMBER")
private String contactNumber;
@Column(name = "EMAILID")
private String emailID;
//getters and setters
}
我在投影第二列时遇到问题,即 (count(specialization))
select doc.specialization, count(doc)
from DoctorBean doc
group by doc.specialization
试试这个:
select d.specialization, count(d.specialization)
from DoctorBean d group by d.specialization;