Opa pessoal, estou precisando fazer uma consulta de pesquisa com uma condição: Trazer só os Posts com status: StatusPost.LIBERADO. Eu pesquiso tanto pelo "name" da minha entidade "Post" ou pelo "address" dele
Estou fazendo assim:
Repository:
 @Query("FROM Post p " +
            "WHERE LOWER(p.name) like %:searchTerm% " +
            "OR LOWER(p.address) like %:searchTerm%  AND p.status = :statusPost")
    Page<Post> search(@Param("searchTerm") String searchTerm, StatusPost statusPost, Pageable pageable);Service:
 public Page<PostDTO> search(String searchTerm, StatusPost status, int page, int size) {
        PageRequest pageRequest = PageRequest.of(page, size, Sort.Direction.ASC, "name");
        return repository.search(searchTerm.toLowerCase(), status, pageRequest).map(PostDTO::created);
    }Controller:
@GetMapping("/search")
    public Page<PostDTO> search(@RequestParam("searchTerm") String searchTerm,
                             @RequestParam(value = "page", required = false, defaultValue = "0") int page,
                             @RequestParam(value = "size", required = false, defaultValue = "24") int size) {
        return postService.search(searchTerm, StatusPost.LIBERADO, page, size);
    }A pesquisa funciona pelo name ou address certinho, mas traz todos e não filtra apenas pelos Posts com status: StatusPost.LIBERADO.
O que estou fazendo de errado? Podem me ajudar? Abraços.
 
            