Spring Data JPA 动态条件查询+指定查询列

JPA在使用(Specification的动态条件查询)时将不能指定查询列,这非常的操蛋,底层代码中封死了,必须返回整个对象的所有列,具体原因可以看这里(https://my.oschina.net/xiwanglr/blog/792962)

现在演示一下如何在使用动态查询时还可以指定查询列的写法,拿 product, product_price, produt_rank 的分页查询为例

看截图,所有表


image.png

实体关系


image.png

动态条件查询类


image.png

分页查询方法,也就是service 中的 getPaged


image.png

最后是输出的sql


image.png

image.png

基本完美解决这种分页查询,关联多表,可以指定列查询和支持动态条件查询复用的情况
如果自己手写原生sql拼接查询条件代码更为繁杂,可供参考,指定列查询,会给商品和订单分页查询,在sql提升优化

你可能感兴趣的:(Spring Data JPA 动态条件查询+指定查询列)