java - 如何使用spring data jpa進(jìn)行兩個(gè)列和的結(jié)果排序
問(wèn)題描述
大家好,目前有個(gè)需求就是求表中兩列的和,然后將結(jié)果排序。詳細(xì)描述如下:我的表里有兩列是費(fèi)用a(pay_a)和費(fèi)用b(pay_b),目前的需求是要將這兩者相加求和(select (pay_a + pay_b)from paytable),然后結(jié)果排序(數(shù)據(jù)庫(kù)使用的是oracle)。
我使用的框架是spring data jpa。在使用sort時(shí),發(fā)現(xiàn)sort無(wú)法解析相加的表達(dá)式。提示表中無(wú)此成員。換了個(gè)方法,在entity中用@Transient聲明一個(gè)新成員payall(數(shù)據(jù)庫(kù)表中無(wú)此列),定義getPayall(){
return pay_a + pay_b;
}然后在sort中,使用”payall“進(jìn)行排序,結(jié)果運(yùn)行錯(cuò)誤,會(huì)提示 Unable to locate Attribute with the the given name [payall] on this ManagedType [io.koala.tobacco.dataservice.entity.PotentialCust]
目前有點(diǎn)不知道要如何處理了。還請(qǐng)各位高手多幫忙!感謝感謝!
問(wèn)題解答
回答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進(jìn)行查詢(xún)
相關(guān)文章:
1. node.js - 在vuejs-templates/webpack中dev-server.js里為什么要exports readyPromise?2. mysql優(yōu)化 - 關(guān)于mysql分區(qū)3. html5 - 如何實(shí)現(xiàn)帶陰影的不規(guī)則容器?4. javascript - 循環(huán)嵌套多個(gè)promise應(yīng)該如何實(shí)現(xiàn)?5. python - 管道符和ssh傳文件6. 請(qǐng)教各位大佬,瀏覽器點(diǎn) 提交實(shí)例為什么沒(méi)有反應(yīng)7. objective-c - iOS開(kāi)發(fā)支付寶和微信支付完成為什么跳轉(zhuǎn)到了之前開(kāi)發(fā)的一個(gè)app?8. javascript - 為什么這個(gè)點(diǎn)擊事件需要點(diǎn)擊兩次才有效果9. javascript - ionic2 input autofocus 電腦成功,iOS手機(jī)鍵盤(pán)不彈出10. vue.js - vue 打包后 nginx 服務(wù)端API請(qǐng)求跨域問(wèn)題無(wú)法解決。
