public interface InvoiceRepository extends JpaRepository<Invoice, Long> {
@Query("SELECT DISTINCT NEW com.invoice.InvoiceResult"
"(i.invoiceId, t.vendor, i.totalTrips, i.fromDate, i.toDate, i.totalFare, i.paidAmount, i.status, i.createdDate, i.lastModifiedDate)"
" FROM Invoice i"
" JOIN i.trips t")
List<InvoiceResult> retrieveInvoices(Sort sort);
}
String sortField = "";
Sort.by(sortField).ascending();
sortField 的值應該是什么來實作按以下任何選定列進行排序?
i.invoiceId, t.vendor, i.totalTrips, i.fromDate, i.toDate, i.totalFare, i.paidAmount, i.status, i.createdDate, i.lastModifiedDate
如果我通過 i.invoiceId,則會出現以下錯誤
org.hibernate.QueryException: 無法決議屬性: i of: com.seamless.one.billing.domain.Invoice [SELECT DISTINCT NEW com.seamless.one.billing.pojo.InvoiceResult(i.invoiceId, t.vendor, i .totalTrips, i.fromDate, i.toDate, i.totalFare, i.paidAmount, i.status, i.createdDate, i.lastModifiedDate) FROM com.seamless.one.billing.domain.Invoice i JOIN i.trips t WHERE t.vendor = :vendor order by iiinvoiceId asc]; 嵌套例外是 java.lang.IllegalArgumentException: org.hibernate.QueryException: 無法決議屬性:i of: com.seamless.one.billing.domain.Invoice [SELECT DISTINCT NEW com.seamless.one.billing.pojo.InvoiceResult( i.invoiceId, t.vendor, i.totalTrips, i.fromDate, i.toDate, i.totalFare, i.paidAmount, i.status, i.createdDate, i.lastModifiedDate) FROM com.seamless.one.billing.domain .Invoice i JOIN i.trips t WHERE t.vendor = :
uj5u.com熱心網友回復:
您非常接近,如果您在沒有i.before 的情況下撰寫它應該可以作業。
Sort.by(Sort.Direction.ASC, "invoiceId");
在錯誤的最后一行中,您甚至可以看到,創建的查詢用于i.i.invoiceId對查詢進行排序,這顯然i.太多了。
uj5u.com熱心網友回復:
我會選擇列lastModifiedDate或createdDate呼叫降序,因為我想首先獲得新發票
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/402058.html
