2017-10-17 10 views
1
@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); 

J'ai une requête comme ci-dessus. Il est possible d'ignorer le paramètre de recherche par exemple @Param("paymentStatuses") dans la méthode de requête si est null ou est vide?Comment ignorer @Param dans @Query si est vide ou vide dans Spring Data JPA

+1

double possible de [Spring données - ignore paramètre si elle a une valeur null] (https://stackoverflow.com/questions/43780226/spring -data-ignore-parameter-if-it-has-a-null-value) – araknoid

Répondre

6

Essayez de changer

" and ds.statusCode in :paymentStatuses" 

dans

" and (:paymentStatuses is null or ds.statusCode in :paymentStatuses)" 
+0

c'est magique :) – Ekrem