出了什么问题?
public List < ReportDTO> listProductAll() {
String sql
= "select "
+ "ip.product_name as productName, "
+ "ip.base_price as basePrice, "
+ "iu.username as username "
+ "from tb_buy a "
+ "left join in_product ip on a.id_product = ip.product_id "
+ "left join im_users iu on a.id_user = iu.user_id ";
Query q = identifyServer.getCurrentSession().createSQLQuery(sql)
.addScalar("productName")
.addScalar("basePrice")
.addScalar("username")
.setResultTransformer(Transformers.aliasToBean(ReportDTO.class));
return q.list();
}
public class ReportDTO {
private String productName;
private Double basePrice;
private String username;
public ReportDTO(String productName, Double basePrice, String username) {
this.productName = productName;
this.basePrice = basePrice;
this.username = username;
}
// getter setter
org.springframework.orm.jpa.JpaSystemException: Could not instantiate resultclass: ReportDTO; nested exception is org.hibernate.HibernateException: Could not instantiate resultclass: ReportDTO
解决 公共(public) ReportDTO() {}
最佳答案
Hibernate 要求所有实体都有一个默认的无参数构造函数。
如果您的实体类没有它,或者它不是公共(public)的,您将收到此异常。
关于spring - 嵌套异常是 org.hibernate.HibernateException : Could not instantiate resultclass,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46743950/