Использование одного и того же параметра более одного раза в запросе Spring Boot HQL

#spring-boot #spring-data-jpa #hql

Вопрос:

Я получаю странную ошибку, когда я пишу запрос HQL, используя один параметр несколько раз в одном и том же запросе, он не работает, например:

Это не сработает:

 SELECT Object(o) FROM Pessoa o WHERE o.situacaoEnum IN (:situacao) AND (o.razaoSocial LIKE %:query% OR o.nomeFantasia LIKE %:query% OR o.cpfCnpj = :query)
 

Но если делать это, то это работает идеально:

 SELECT Object(o) FROM Pessoa o WHERE o.situacaoEnum IN (:situacao) AND (o.razaoSocial LIKE %:rs% OR o.nomeFantasia LIKE %:nf% OR o.cpfCnpj = :cc) 
 

Мое хранилище

  public interface PessoaRepository extends JpaRepository<Pessoa, Long> {
    
 final String BY_QUERY = " FROM Pessoa o WHERE o.situacaoEnum IN (:situacao) AND (o.razaoSocial LIKE %:rs% OR o.nomeFantasia LIKE %:nf% OR o.cpfCnpj = :cc) ";
 final String BY_SITUACAO = "FROM Pessoa o WHERE o.situacaoEnum IN (:situacao) ";
    
 @Query(value = "SELECT Object(o)"   BY_QUERY, countQuery = "SELECT count(o)"   BY_QUERY)
 Page<Pessoa> findByQuery(@Param("rs") String rs, @Param("nf") String nf, @Param("cc") String cc, @Param("situacao") List<SituacaoEnum> situacao, Pageable pageable);
    
 @Query(value = "SELECT Object(o)"   BY_SITUACAO, countQuery = "SELECT count(o)"   BY_SITUACAO)
 Page<Pessoa> findBySituacao(@Param("situacao") List<SituacaoEnum> situacao, Pageable pageable);
}