I\'m trying to set up a dynamic query using spring data, basically I have an array with a bunch of characteristics and I need to assemble the query based on those characteristic
Use Spring Data JPA Querydsl. Read it here
Yes. @Query
supports pageable.. and yes there's another way to accomplish this.
You could take a look at building query with criteria, that allow you add AND / OR where conditions dynamically. I actually use querydsl to facilitate my development.
In this post you can find a good explanation of both: http://spring.io/blog/2011/04/26/advanced-spring-data-jpa-specifications-and-querydsl/
Altough it could be seem more complex at beginning, the use of this feature will make your code more consistent with increasing complexity