Nome do método da query de repository passando um valor padrão

Caros, existe uma maneira mais facil de fazer isso?

List findClientsByIdAndIsDeletedAndProcessIdAndProfessionalActivityIsDeleted(Long clientId, String isDeletedClient, Long processId, String isDeletedProfessionalActivity);

List clien = clientRepository.findClientsByIdAndIsDeletedAndProcessIdAndProfessionalActivityIsDeleted(clientId, “F”, processId, “F”);

A questão é, todas as tabelas deste cruzamento de dados tem um coluna isDeleted . Existe alguma forma de eu fazer isso sem precisar repetir p "F’ nos parametes?

NO CASO DO EXEMPLO A CIMA EU COLOQUEI DOIS “F” …MAS EXISTEM MAIS 5 TABELAS … POR ISSO DA QUESTÃO.

eu fiz isso List client = clientRepository
.findClientByIdAndProcessIdAndIsDeletedAndProfessionalActivitiesIsDeletedAndFinancialDataIsDeletedAndPersonalDataIsDeletedAndContactsIsDeleted(
clientId, processId, “f”, “F”, “F”, “f”, “f”);

funciona… mas olha p tamanho do nome do método

Tenho 2 sugestões:

  1. Crie um método default no seu repository com um nome menor e mais adequado e nele vc chama esse método de nome gigante. Vale do Java 8 em diante.
  2. Escreva sua query a mão mesmo.
interface ClienteRepository extends JpaRepository<Client, Long> {
  List<Client> findClientByIdAndProcessIdAndIsDeletedAndProfessionalActivitiesIsDeletedAndFinancialDataIsDeletedAndPersonalDataIsDeletedAndContactsIsDeleted(
    Long clientId,
    Long processId,
    String clientIsDeleted,
    String professionalActivityIsDeleted,
    String financialDataIsDeleted,
    String personalDataIsDeleted,
    String contactsIsDeleted
  );

  default List<Client> findByClientByIdAndProcessIdSugestao1(Long clientId, Long processId) {
    return findClientByIdAndProcessIdAndIsDeletedAndProfessionalActivitiesIsDeletedAndFinancialDataIsDeletedAndPersonalDataIsDeletedAndContactsIsDeleted(
      clientId, processId, "F", "F", "F", "F", "F"
    );
  }

  @Query("""
    FROM Client c
    JOIN FETCH c.process a
    JOIN FETCH c.professionalActivity b
    JOIN FETCH c.financialData c
    JOIN FETCH c.personalData d
    JOIN FETCH c.contacts e
    WHERE c.isDeleted = 'F'
      AND a.isDeleted = 'F'
      AND b.isDeleted = 'F'
      AND c.isDeleted = 'F'
      AND d.isDeleted = 'F'
      AND e.isDeleted = 'F'
    """)
  List<Client> findByClientByIdAndProcessIdSugestao2(Long clientId, Long processId);
}