jpa中使用Query判斷條件查詢


jpa中使用Query判斷條件查詢

@Query(value = " select m.* from mining_area as m " +
            " where 1 = 1" +
            " and if(:name != '' , m.name like :name , 1 = 1) " +
            " and if(IFNULL(:startDate, '') != '' , DATE(m.create_time) > DATE(:startDate) , 1 = 1 ) " +
            " and if(IFNULL(:endDate, '') != '' , DATE(m.create_time) < DATE(:endDate) , 1 = 1 ) " +
            " and if(IFNULL(:status, '') != '' , m.audit_status = :status , 1 = 1 ) " +
            " and m.deleted = :deleted " +
            " and ( m.tree_code like :treeCode and m.audit_status = 3  )" +
            " or ( m.tree_code = :noLikeTreeCode  ) ",
        countQuery = " select count(m.*) from mining_area as m " +
                " where 1 = 1" +
                " and if(:name != '' , m.name like :name , 1 = 1) " +
                " and if(IFNULL(:startDate, '') != '' , DATE(m.create_time) > DATE(:startDate) , 1 = 1 ) " +
                " and if(IFNULL(:endDate, '') != '' , DATE(m.create_time) < DATE(:endDate) , 1 = 1 ) " +
                " and if(IFNULL(:status, '') != '' , m.audit_status = :status , 1 = 1 ) " +
                " and m.deleted = :deleted " +
                " and ( m.tree_code like :treeCode and m.audit_status = 3  )" +
                " or ( m.tree_code = :noLikeTreeCode  ) ",
        nativeQuery = true)
    List<MiningArea> findPage(String name, Date startDate, Date endDate, AreaAuditStatusEnum status,
                              String treeCode, String noLikeTreeCode , Integer deleted, Pageable pageable);


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM