java - 如何使用spring data jpa進行兩個列和的結果排序
問題描述
大家好,目前有個需求就是求表中兩列的和,然后將結果排序。詳細描述如下:我的表里有兩列是費用a(pay_a)和費用b(pay_b),目前的需求是要將這兩者相加求和(select (pay_a + pay_b)from paytable),然后結果排序(數據庫使用的是oracle)。
我使用的框架是spring data jpa。在使用sort時,發現sort無法解析相加的表達式。提示表中無此成員。換了個方法,在entity中用@Transient聲明一個新成員payall(數據庫表中無此列),定義getPayall(){
return pay_a + pay_b;
}然后在sort中,使用”payall“進行排序,結果運行錯誤,會提示 Unable to locate Attribute with the the given name [payall] on this ManagedType [io.koala.tobacco.dataservice.entity.PotentialCust]
目前有點不知道要如何處理了。還請各位高手多幫忙!感謝感謝!
問題解答
回答1:@Query(value = 'select new test.Account(a.price1 + a.price2) from Account a', nativeQuery = true)Account testSum();
package test;public class Account { public Account(price1, price2) { }}
nativeQuery = true 使用原生的sql進行查詢
相關文章:
1. javascript - node.js promise沒用2. golang - 用IDE看docker源碼時的小問題3. yii2中restful配置好后在nginx下報404錯誤4. 算法 - python 給定一個正整數a和一個包含任意個正整數的 列表 b,求所有<=a 的加法組合5. android 如何實現如圖中的鍵盤上的公式及edittext的內容展示呢6. java - 我在用Struts2上傳文件時,報以下錯誤怎么回事?7. c++ - 如何正確的使用QWebEngineView?8. PHP注冊功能9. mysql - 求SQL語句10. MySQL如何實現表中再嵌套一個表?
