@QueryParam (javax.ws.rs) only works with JAX-RS. In other words, the web layer. It's meant to map a query parameter to a method argument. It cannot be used with Spring's @Query annotation.
@Param(org.springframework.data.repository.query.Param) is meant to be used in combination with @Query to define that a method argument should be mapped to a parameter inside the query. This is the one you need.
@Parameter(org.hibernate.annotation) is some Hibernate specific thing. No idea how it works, but it cannot be used with Spring's @Query annotation.