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 - 单页面应用怎么监听ios微信返回键?2. angular.js - 在ionic下,利用javascript导入百度地图,pc端可以显示,移动端无法显示3. javascript - 请问下面代码中的...是扩展运算符还是操作运算符?这样写是什么意思?4. javascript - 有适合开发手机端Html5网页小游戏的前端框架吗?5. html - 类似这样的弹层用什么插件写比较好?6. vue.js - vue apache 代理设置7. angular.js - 百度支持_escaped_fragment_吗?8. 我在centos容器里安装docker,也就是在容器里安装容器,报错了?9. node.js - Vue+Webpack在dev环境下没有问题build后出现莫名错误10. node.js - nodejs+express+vue
