JPA在使用(Specification的动态条件查询)时将不能指定查询列,这非常的操蛋,底层代码中封死了,必须返回整个对象的所有列,具体原因可以看这里(https://my.oschina.net/xiwanglr/blog/792962)
现在演示一下如何在使用动态查询时还可以指定查询列的写法,拿 product, product_price, produt_rank 的分页查询为例
看截图,所有表
实体关系
动态条件查询类
分页查询方法,也就是service 中的 getPaged
最后是输出的sql
基本完美解决这种分页查询,关联多表,可以指定列查询和支持动态条件查询复用的情况
如果自己手写原生sql拼接查询条件代码更为繁杂,可供参考,指定列查询,会给商品和订单分页查询,在sql提升优化