使用 jpa自定义sql分页,自定义实体类等

在使用 JpaRepository 自定义sql,自定义实体类时,经常会遇到ShardingResultSet.getString null问题,有时可以通过默认值解决,但不能适用所有情况。针对这种情况,建议使用Map<String,Object> 接收查询结果,在通过json转换为对应实体类

一.自定义sql,对应表Entity
下面的代码可以同时实现自定义sql分页

@Query(value = " SELECT  " +
        "  s.*   " +
        "FROM  " +
        "  ( SELECT * FROM table WHERE del = 0 AND owner_id =  (:ownerId) AND provider_id = (:providerId) AND phase = 3 ) p  " +
        "  LEFT JOIN table1  s ON p.station_id = s.id  " +
        "  LEFT JOIN table2  prr ON prr.pile_id = p.pile_id   " +
        "WHERE  " +
        "  prr.pile_state in (:status)   " +
        "GROUP BY  " +
        "  s.id   " +
        "ORDER BY  " +
        "  s.id", nativeQuery = true,

        countQuery="SELECT count(*) FROM ( SELECT  " +
                "  s.*   " +
                "FROM  " +
                "  ( SELECT * FROM table WHERE del = 0 AND value = (:value1) ) p  " +
                "  LEFT JOIN table1  s ON p.station_id = s.id  " +
                "
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值