Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

Criação de endpoint GET com condição na JPA

Boa noite,

Como eu faço para criar um endpoint que filtre somente os tópicos que possuem respostas pela JPA? Ou é preciso criar uma jpql manual no repositório ? Se sim, eu devo criar no repositório do Tópico?

No endpoint atual 'detalhar' de método GET nós filtramos o tópico pelo ID. Neste caso eu gostaria também de criar outro endpoint GET que também filtrasse pelo id mas que trouxesse somente tópicos com respostas e preferencialmente sem usar expressão jpql (select * from....).

3 respostas

Oi John,

Se não me engano você pode filtrar pela collection usando padrão de nomenclatura isNotEmpty:

public interface TopicoRepository extends JpaRepository<Topico, Long> {
    List<Topico> findByRespostasIsNotEmpty();
}

Bons estudos!

Funcionou!

Aonde que eu consigo a documentação dessas chamadas que vc citou como a RespostasIsNotEmpty por exemplo?

solução

Tem na documentação do Spring Data JPA: https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#reference

Bons estudos!