@Query(value = "Select f from Documents f " + "RIGHT JOIN f.documentStatus ds " + "where f.billingAccount.accountId in :billingAccountIdList " + " and ds.statusCode in :paymentStatuses" + " and f.paymentDate < :paymentDate") List<FinancialDocumentEntity> getFinancialDocumentsOverdue(@Param("billingAccountIdList")List<String> billingAccountIdList, @Param("paymentStatuses") List<String> paymentStatuses, @Param("paymentDate") Date paymentDate);
我有上述查询。是否可以跳过搜索参数,例如@Param("paymentStatuses")在查询方法中是否为null或为空?
@Param("paymentStatuses")
尝试改变
" and ds.statusCode in :paymentStatuses"
进入
" and (:paymentStatuses is null or ds.statusCode in :paymentStatuses)"