'When I'm trying to run this query I keep getting this error and I could not figure out why
- This is the DTO class
public class InvoiceCountValueDto {
private String ackNumber;
@DateTimeFormat(pattern = "yyyy-MM-dd")
@Temporal(TemporalType.DATE)
private Date request_date;
private String consignor_tin, consignor_trade_nm;
private long total_inv, total_values;
private String status;
}
- Repo
@Query("SELECT new org.nic.eCST.web.dto.InvoiceCountValueDto(i.ackNumber,i.request_date,i.consignor_tin,i.consignor_trade_nm,count(c.invoiceId),sum(c.invoice_value),i.requestStatus) FROM RequestOnline i, InvoiceOnline c WHERE i.ackNumber=c.ackNumber AND i.tinNumber=:tinNo AND i.requestStatus=:status GROUP BY(i.ackNumber,c.ackNumber)")
List<InvoiceCountValueDto> getTotalInv(@Param("tinNo") String tin,@Param("status") String status);
- Error
`Error`
Caused by: org.hibernate.hql.internal.ast.QuerySyntaxException: Unable to locate appropriate constructor on class [org.nic.eCST.web.dto.InvoiceCountValueDto]. Expected arguments are: java.lang.String, java.util.Date, java.lang.String, java.lang.String, long, long, java.lang.String [SELECT new org.nic.eCST.web.dto.InvoiceCountValueDto(i.ackNumber,i.request_date,i.consignor_tin,i.consignor_trade_nm,count(c.invoiceId),sum(c.invoice_value),i.requestStatus) FROM org.nic.eCST.model.RequestOnline i, org.nic.eCST.model.InvoiceOnline c WHERE i.ackNumber=c.ackNumber AND i.tinNumber=:tinNo AND i.requestStatus=:status GROUP BY(i.ackNumber,c.ackNumber)]
I have double check the number of parameters and all the data types but still stuck
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|