2017-10-14 10 views
2

何が問題なのですか?ネストされた例外はorg.hibernate.HibernateExceptionです:resultclassをインスタンス化できませんでした

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:resultClassををインスタンス化できませんでした:ReportDTO。ネストされた例外はorg.hibernate.HibernateExceptionです:resultClassををインスタンス化できませんでした:ReportDTO

は( 公共ReportDTOを解決){}

答えて

1

Hibernateはデフォルトの引数なしのコンストラクタを持っているすべてのエンティティが必要です。
エンティティクラスにそれがない場合、またはパブリックでない場合は、この例外が発生します。

関連する問題