Я решил переместить все свои запросы jpql в другой класс, например
public class QueryUtils {
public static final String FIND_All_CLUBS= "select c from Club c order by c.club_name";
}
В репозитории у меня есть это:
@Query(value = QueryUtils.FIND_All_CLUBS)
Iterable<Club> findAllAndAndOOrderByClub_name();
И он работает нормально. Но я застрял с этой вещью: что, если у меня есть параметры в моем jpql, например
@Query(value = "select c from Comment c where c.post.post_id = :id order by c.replyTo.comment_id nulls last")
Iterable<Comment> findAllCommentsOfPost(@Param("id") long id);
Я пытаюсь написать это:
public static String getFIND_ALL_COMMENTS_OF_POST(String id){
return new StringBuilder("select c from Comment c where c.post.post_id = ").append(id).append(" order by c.replyTo.comment_id nulls last").toString();
}
Но как передать параметр из хранилище для этого метода, этот код (который я пробовал, недействителен):
@Query(QueryUtils.getFIND_ALL_COMMENTS_OF_POST(id))
Iterable<Comment> findAllCommentsOfPost(@Param("id") long id);
Просьба помочь мне !!