Reputation: 1724
Can a dynamic query be written in spring data rest as follows. If not then how to achieve a similar functionality:
@Query("select s from Screen s where s.#searchColumn like:searchValue%")
@RestResource(path="byString")
Page findAll(
@Param("searchColumn") String searchColumn,
@Param("searchValue") String searchValue,
Pageable pageable);
Upvotes: 1
Views: 2197
Reputation: 1724
Solved
Repo
@Query("select o from Screen o where "
+ "(o.screenName like :val% and :prop = 'screenName') or "
+ "(o.address like :val% and :prop = 'address')")
@RestResource(path="byString")
Page findAll(
@Param("prop") String prop,
@Param("val") String val,
Pageable pageable);
Query:
/api/screens/search/byString?prop=address&val=a
Tested it with prop=address as well as prop=screenName. Working :)
Upvotes: 2