Bilindigi gibi jpqlde sum fonksiyonunda aritmetiksel ismler yapmamiza izin vermiyor. Ama biz bunun gecici bir cozumunu asagidaki yontemle bulabiliriz.
Mesala ben asagidaki bir sql yazdigimda syntax error verecektir.
String sql = "SELECT SUM(p.price*l.quantity) FROM purchaseorders o JOIN orderlineitems l ON o.pono=l.pono JOIN products p ON l.prod_id=p.prod_id JOIN suppliers s ON p.sup_id=s.sup_id"
Ama biz asagidaki gibi bir class yaratip onu kullandigimizda sorunumuz cozulmus olacaktir.
package jpqlexample.servlets;...class LineItemSum {private Double price;private Integer quantity;private Double rslt;public LineItemSum (Double price, Integer quantity){this.rslt = quantity*price;}public Double getRslt () {return this.rslt;}public void setRslt (Double rslt) {this.rslt = rslt;}}
Kullanimi :
String sql = "SELECT NEW jpqlexample.servlets.LineItemSum(p.price, l.quantity)FROM PurchaseOrder oJOIN o.orderLineItems l JOIN l.product p JOIN p.supplier"
goyard bags
YanıtlaSiljordan shoes
air jordan shoes
curry 4
adidas yeezy
russell westbrook shoes
nike shoes
adidas flux
jordan retro
nike shox for women
xiaofang20191220